diff options
50 files changed, 7029 insertions, 6685 deletions
diff --git a/Magefile.go b/Magefile.go index 5c5be0b..b297a9d 100644 --- a/Magefile.go +++ b/Magefile.go @@ -17,16 +17,16 @@ import ( ) var ( - Default = Build // Default target: build all binaries. + Default = Build // Default target: build all binaries. coverageThreshold float64 = 85 coveragePrinted = make(chan struct{}, 1) ) // Build builds binaries. func Build() error { - mg.Deps(BuildHexaiLSP, BuildHexaiCLI, BuildHexaiTmuxAction) - printCoverage() - return nil + mg.Deps(BuildHexaiLSP, BuildHexaiCLI, BuildHexaiTmuxAction) + printCoverage() + return nil } // BuildHexaiLSP builds the LSP server binary. @@ -43,8 +43,8 @@ func BuildHexaiCLI() error { // BuildHexaiTmuxAction builds the hexai-tmux-action TUI binary. func BuildHexaiTmuxAction() error { - printCoverage() - return sh.RunV("go", "build", "-o", "hexai-tmux-action", "cmd/hexai-tmux-action/main.go") + printCoverage() + return sh.RunV("go", "build", "-o", "hexai-tmux-action", "cmd/hexai-tmux-action/main.go") } // Dev runs tests, vet, lint, then builds with race for both binaries. @@ -57,7 +57,7 @@ func Dev() error { 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-tmux-action", "cmd/hexai-tmux-action/main.go") + return sh.RunV("go", "build", "-race", "-o", "hexai-tmux-action", "cmd/hexai-tmux-action/main.go") } // Run launches the LSP server via go run (useful during development). @@ -97,14 +97,14 @@ func Install() error { if err := sh.RunV("cp", "-v", "./hexai", bin+"/"); err != nil { return err } - return sh.RunV("cp", "-v", "./hexai-tmux-action", bin+"/") + return sh.RunV("cp", "-v", "./hexai-tmux-action", bin+"/") } // RunTmuxAction runs the hexai-tmux-action TUI via go run (reads stdin). func RunTmuxAction() error { - printCoverage() - mg.Deps(Dev) - return sh.RunV("go", "run", "cmd/hexai-tmux-action/main.go") + printCoverage() + mg.Deps(Dev) + return sh.RunV("go", "run", "cmd/hexai-tmux-action/main.go") } // printCoverage prints a warning if an existing coverage profile shows total < coverateThreshold. diff --git a/PROJECTSTATUS.md b/PROJECTSTATUS.md index 41a634a..9991645 100644 --- a/PROJECTSTATUS.md +++ b/PROJECTSTATUS.md @@ -1,19 +1,13 @@ # Project status -This documents shows future items and in progress items. Already completed ones are removed from this document as we go. +This document shows future items and items in progress. Already completed ones are deleted from this document as updates occur. ## Features -* [ ] tmux or helix status line updates with LLM progress/stats? -* [/] EDITOR support for custom action in hexai-tmux-action - * Verify documentation is correct -* [/] EDITOR support for hexai when no args given - * Verify documentation is correct * [ ] In-editor chat triggers should be context aware of the current file, buffer and function! * [ ] 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! -* [ ] Fish and zsh and bash shell integration for command completion? Have access to the current shell history (N last commands), current directory content, and current directory name. * [ ] Be able to re-configure the temperature in-editor * [ ] Be able to switch LLMs. @@ -20,7 +20,7 @@ It has got improved capabilities for Go code understanding (for example, create * [Configuration guide](docs/configuration.md) * [Usage examples](docs/usage.md) -* [Helix + tmux quickstart](docs/helix-tmux-quickstart.md) +* [Helix + tmux quickstart](docs/tmux.md) ## Build and tasks @@ -53,26 +53,4 @@ Either use the Mage method as mentioned above, or install directly with: ## Tmux Status Line -Hexai can surface live progress in tmux's status line via a user option. Add this to your `~/.tmux.conf`: - -``` -set -g status-right '#{@hexai_status} #[fg=colour8]| %H:%M' -``` - -- Note: `colour8` is typically “bright black” (a dim grey) in many themes. - If it’s low-contrast on your background, change it (e.g., `colour7` or `white`). - -- CLI updates `@hexai_status` at start (⏳ provider:model) and on completion with compact stats (↑sent, ↓recv, rpm, reqs). -- LSP emits an initial heartbeat on client initialize and periodic compact stats (provider, model, rpm, reqs, bytes). -- The TUI action runner sets a ready heartbeat and a completion heartbeat with stats. -- Toggle with `HEXAI_TMUX_STATUS=0` to disable (enabled by default). - -The status segment supports simple theming: - -- Preset themes: - - `HEXAI_TMUX_STATUS_THEME=white-on-purple` (white fg on purple/magenta bg) - - `HEXAI_TMUX_STATUS_THEME=black-on-yellow` (black fg on yellow bg) -- Explicit colors: set any tmux color names or 256-color codes - - `HEXAI_TMUX_STATUS_FG=white` - - `HEXAI_TMUX_STATUS_BG=magenta` (or `colour5`, etc.) -- If the segment is truncated, widen it: `set -g status-right-length 120` +See the [tmux integration guide](docs/tmux.md) for details on configuring the status line. diff --git a/cmd/hexai-lsp/main_test.go b/cmd/hexai-lsp/main_test.go index 987bfb4..387b640 100644 --- a/cmd/hexai-lsp/main_test.go +++ b/cmd/hexai-lsp/main_test.go @@ -1,23 +1,22 @@ package main import ( - "bytes" - "log" - "os" - "testing" + "bytes" + "log" + "os" + "testing" ) func TestMain_Version(t *testing.T) { - oldArgs := os.Args - defer func() { os.Args = oldArgs }() - os.Args = []string{"hexai-lsp", "-version"} - var buf bytes.Buffer - old := log.Writer() - log.SetOutput(&buf) - defer log.SetOutput(old) - main() - if buf.Len() == 0 { - t.Fatalf("expected version log") - } + oldArgs := os.Args + defer func() { os.Args = oldArgs }() + os.Args = []string{"hexai-lsp", "-version"} + var buf bytes.Buffer + old := log.Writer() + log.SetOutput(&buf) + defer log.SetOutput(old) + main() + if buf.Len() == 0 { + t.Fatalf("expected version log") + } } - diff --git a/cmd/hexai-tmux-action/main.go b/cmd/hexai-tmux-action/main.go index 02cfe09..2d8793b 100644 --- a/cmd/hexai-tmux-action/main.go +++ b/cmd/hexai-tmux-action/main.go @@ -1,30 +1,29 @@ package main import ( - "context" - "flag" - "fmt" - "os" + "context" + "flag" + "fmt" + "os" - "codeberg.org/snonux/hexai/internal/hexaiaction" + "codeberg.org/snonux/hexai/internal/hexaiaction" ) 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") - 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() + infile := flag.String("infile", "", "Read input from this file instead of stdin") + outfile := flag.String("outfile", "", "Write output to this file instead of stdout") + 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() - opts := hexaiaction.Options{ - Infile: *infile, Outfile: *outfile, - UIChild: *uiChild, TmuxTarget: *tmuxTarget, TmuxSplit: *tmuxSplit, TmuxPercent: *tmuxPercent, - } - if err := hexaiaction.RunCommand(context.Background(), opts, os.Stdin, os.Stdout, os.Stderr); err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(1) - } + opts := hexaiaction.Options{ + Infile: *infile, Outfile: *outfile, + UIChild: *uiChild, TmuxTarget: *tmuxTarget, TmuxSplit: *tmuxSplit, TmuxPercent: *tmuxPercent, + } + if err := hexaiaction.RunCommand(context.Background(), opts, os.Stdin, os.Stdout, os.Stderr); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } } - diff --git a/cmd/hexai/main_test.go b/cmd/hexai/main_test.go index beb684b..70c844f 100644 --- a/cmd/hexai/main_test.go +++ b/cmd/hexai/main_test.go @@ -1,23 +1,23 @@ package main import ( - "io" - "os" - "testing" + "io" + "os" + "testing" ) func TestMain_Version(t *testing.T) { - oldArgs := os.Args - defer func() { os.Args = oldArgs }() - os.Args = []string{"hexai", "-version"} - r, w, _ := os.Pipe() - old := os.Stdout - os.Stdout = w - defer func() { os.Stdout = old }() - main() - w.Close() - b, _ := io.ReadAll(r) - if len(b) == 0 { - t.Fatalf("expected version output") - } + oldArgs := os.Args + defer func() { os.Args = oldArgs }() + os.Args = []string{"hexai", "-version"} + r, w, _ := os.Pipe() + old := os.Stdout + os.Stdout = w + defer func() { os.Stdout = old }() + main() + w.Close() + b, _ := io.ReadAll(r) + if len(b) == 0 { + t.Fatalf("expected version output") + } } diff --git a/docs/configuration.md b/docs/configuration.md index 95b65de..0b9e204 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -64,24 +64,7 @@ Editor integration Tmux status line -- Hexai can update a tmux user option during LLM activity. Add this to your `~/.tmux.conf` to display it: - - - `set -g status-right '#{@hexai_status} #[fg=colour8]| %H:%M'` - -- Status content is updated best‑effort at key moments: - - CLI: start (⏳ provider:model) and completion with compact stats (↑sent, ↓recv, rpm, reqs) - - LSP: initial heartbeat on client initialize, and periodic compact stats (provider, model, rpm, reqs, bytes) - - TUI action runner: ready (provider:model) and completion with compact stats - -- Toggle via environment: - - Enable (default): unset or `HEXAI_TMUX_STATUS=1` - - Disable: `HEXAI_TMUX_STATUS=0` - -- Theme and colors: - - Preset: `HEXAI_TMUX_STATUS_THEME=white-on-purple` (white fg on purple/magenta bg) - - Explicit: `HEXAI_TMUX_STATUS_FG=<color>`, `HEXAI_TMUX_STATUS_BG=<color>` (e.g., `white`, `magenta`, `colour5`) - - Colors use tmux’s `fg`/`bg` names; both methods wrap the entire `@hexai_status` segment. - - If truncated, increase width: `set -g status-right-length 120` +See the [tmux integration guide](docs/tmux.md) for details on configuring the status line. Code action prompts diff --git a/docs/coverage.html b/docs/coverage.html index 8560a58..059834b 100644 --- a/docs/coverage.html +++ b/docs/coverage.html @@ -71,13 +71,13 @@ <option value="file7">codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go (85.0%)</option> - <option value="file8">codeberg.org/snonux/hexai/internal/hexaiaction/run.go (67.3%)</option> + <option value="file8">codeberg.org/snonux/hexai/internal/hexaiaction/run.go (69.2%)</option> <option value="file9">codeberg.org/snonux/hexai/internal/hexaiaction/tui.go (65.5%)</option> <option value="file10">codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go (100.0%)</option> - <option value="file11">codeberg.org/snonux/hexai/internal/hexaicli/run.go (88.4%)</option> + <option value="file11">codeberg.org/snonux/hexai/internal/hexaicli/run.go (88.7%)</option> <option value="file12">codeberg.org/snonux/hexai/internal/hexailsp/run.go (92.5%)</option> @@ -113,7 +113,7 @@ <option value="file28">codeberg.org/snonux/hexai/internal/lsp/handlers_init.go (66.7%)</option> - <option value="file29">codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go (89.0%)</option> + <option value="file29">codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go (89.1%)</option> <option value="file30">codeberg.org/snonux/hexai/internal/lsp/server.go (82.6%)</option> @@ -123,7 +123,9 @@ <option value="file33">codeberg.org/snonux/hexai/internal/textutil/textutil.go (89.0%)</option> - <option value="file34">codeberg.org/snonux/hexai/internal/tmux/tmux.go (88.6%)</option> + <option value="file34">codeberg.org/snonux/hexai/internal/tmux/status.go (66.7%)</option> + + <option value="file35">codeberg.org/snonux/hexai/internal/tmux/tmux.go (88.6%)</option> </select> </div> @@ -1485,6 +1487,7 @@ import ( "codeberg.org/snonux/hexai/internal/editor" "codeberg.org/snonux/hexai/internal/logging" "codeberg.org/snonux/hexai/internal/llmutils" + "codeberg.org/snonux/hexai/internal/tmux" ) // Run executes the hexai-tmux-action command flow. @@ -1495,12 +1498,14 @@ var newClientFromApp = llmutils.NewClientFromApp func Run(ctx context.Context, stdin io.Reader, stdout, stderr io.Writer) error <span class="cov7" title="4">{ logger := log.New(stderr, "hexai-tmux-action ", log.LstdFlags|log.Lmsgprefix) cfg := appconfig.Load(logger) - client, err := newClientFromApp(cfg) + cli, err := newClientFromApp(cfg) if err != nil </span><span class="cov1" title="1">{ fmt.Fprintf(stderr, logging.AnsiBase+"hexai-tmux-action: LLM disabled: %v"+logging.AnsiReset+"\n", err) return err }</span> - <span class="cov6" title="3">parts, err := ParseInput(stdin) + <span class="cov6" title="3">_ = tmux.SetStatus("hexai action ready " + cli.DefaultModel()) + var client chatDoer = cli + parts, err := ParseInput(stdin) if err != nil </span><span class="cov0" title="0">{ fmt.Fprintln(stderr, logging.AnsiBase+"hexai-tmux-action: failed to read input"+logging.AnsiReset) return err @@ -1512,12 +1517,13 @@ func Run(ctx context.Context, stdin io.Reader, stdout, stderr io.Writer) error < if err != nil </span><span class="cov0" title="0">{ return err }</span> - <span class="cov6" title="3">out, err := executeAction(ctx, kind, parts, cfg, client, stderr) - if err != nil </span><span class="cov0" title="0">{ - return err - }</span> - <span class="cov6" title="3">io.WriteString(stdout, out) - return nil</span> + <span class="cov6" title="3">out, err := executeAction(ctx, kind, parts, cfg, client, stderr) + if err != nil </span><span class="cov0" title="0">{ + return err + }</span> + <span class="cov6" title="3">io.WriteString(stdout, out) + _ = tmux.SetStatus("✅ " + cli.DefaultModel()) + return nil</span> } func executeAction(ctx context.Context, kind ActionKind, parts InputParts, cfg appconfig.App, client chatDoer, stderr io.Writer) (string, error) <span class="cov10" title="7">{ @@ -1745,6 +1751,7 @@ import ( "codeberg.org/snonux/hexai/internal/logging" "codeberg.org/snonux/hexai/internal/llm" "codeberg.org/snonux/hexai/internal/llmutils" + "codeberg.org/snonux/hexai/internal/tmux" ) // Run executes the Hexai CLI behavior given arguments and I/O streams. @@ -1851,8 +1858,10 @@ func buildMessagesFromConfig(cfg appconfig.App, input string) []llm.Message <spa // runChat executes the chat request, handling streaming and summary output. func runChat(ctx context.Context, client llm.Client, msgs []llm.Message, input string, out io.Writer, errw io.Writer) error <span class="cov10" title="7">{ - start := time.Now() - var output string + start := time.Now() + // Best-effort tmux status update + _ = tmux.SetStatus("⏳ " + client.Name() + ":" + client.DefaultModel()) + var output string if s, ok := client.(llm.Streamer); ok </span><span class="cov4" title="2">{ var b strings.Builder if err := s.ChatStream(ctx, msgs, func(chunk string) </span><span class="cov8" title="5">{ @@ -1870,10 +1879,11 @@ func runChat(ctx context.Context, client llm.Client, msgs []llm.Message, input s <span class="cov6" title="3">output = txt fmt.Fprint(out, output)</span> } - <span class="cov8" title="5">dur := time.Since(start) - fmt.Fprintf(errw, "\n"+logging.AnsiBase+"done provider=%s model=%s time=%s in_bytes=%d out_bytes=%d"+logging.AnsiReset+"\n", - client.Name(), client.DefaultModel(), dur.Round(time.Millisecond), len(input), len(output)) - return nil</span> + <span class="cov8" title="5">dur := time.Since(start) + fmt.Fprintf(errw, "\n"+logging.AnsiBase+"done provider=%s model=%s time=%s in_bytes=%d out_bytes=%d"+logging.AnsiReset+"\n", + client.Name(), client.DefaultModel(), dur.Round(time.Millisecond), len(input), len(output)) + _ = tmux.SetStatus("✅ " + client.DefaultModel() + " " + dur.Round(time.Millisecond).String()) + return nil</span> } // printProviderInfo writes the provider/model line to stderr. @@ -5260,6 +5270,7 @@ import ( "codeberg.org/snonux/hexai/internal/llm" "codeberg.org/snonux/hexai/internal/logging" "codeberg.org/snonux/hexai/internal/textutil" + tmx "codeberg.org/snonux/hexai/internal/tmux" ) // Configurable inline trigger characters (default to '>') used by free helpers below. @@ -5312,7 +5323,11 @@ func (s *Server) logLLMStats() <span class="cov5" title="8">{ <span class="cov5" title="8">rpm := float64(reqs) / mins sentPerMin := float64(sentTot) / mins recvPerMin := float64(recvTot) / mins - logging.Logf("lsp ", "llm stats reqs=%d avg_sent=%d avg_recv=%d sent_total=%d recv_total=%d rpm=%.2f sent_per_min=%.0f recv_per_min=%.0f", reqs, avgSent, avgRecv, sentTot, recvTot, rpm, sentPerMin, recvPerMin)</span> + logging.Logf("lsp ", "llm stats reqs=%d avg_sent=%d avg_recv=%d sent_total=%d recv_total=%d rpm=%.2f sent_per_min=%.0f recv_per_min=%.0f", reqs, avgSent, avgRecv, sentTot, recvTot, rpm, sentPerMin, recvPerMin) + // Best-effort tmux status update + if s.llmClient != nil </span><span class="cov4" title="7">{ + _ = tmx.SetStatus("LLM:" + s.llmClient.DefaultModel()) + }</span> } // Completion prompt builders and filters @@ -6197,6 +6212,36 @@ func FindStrictInlineTag(line string) (text string, left, right int, ok bool) <s import ( "os" "os/exec" + "strings" +) + +// Enabled reports whether tmux status updates are enabled via env (default: on). +func Enabled() bool <span class="cov10" title="25">{ + v := strings.TrimSpace(os.Getenv("HEXAI_TMUX_STATUS")) + if v == "" </span><span class="cov10" title="25">{ return true }</span> + <span class="cov0" title="0">v = strings.ToLower(v) + return v == "1" || v == "true" || v == "yes" || v == "on"</span> +} + +// SetUserOption sets a global tmux user option like @hexai_status to value. +func SetUserOption(key, value string) error <span class="cov10" title="25">{ + if !Enabled() || !HasBinary() || !InSession() </span><span class="cov0" title="0">{ return nil }</span> + <span class="cov10" title="25">k := strings.TrimPrefix(strings.TrimSpace(key), "@") + if k == "" </span><span class="cov0" title="0">{ return nil }</span> + // Use set-option -g so it appears for all windows + <span class="cov10" title="25">return exec.Command("tmux", "set-option", "-g", "@"+k, value).Run()</span> +} + +// SetStatus is a convenience for setting @hexai_status. +func SetStatus(value string) error <span class="cov10" title="25">{ return SetUserOption("hexai_status", value) }</span> + +</pre> + + <pre class="file" id="file35" style="display: none">package tmux + +import ( + "os" + "os/exec" "strconv" "strings" ) @@ -6208,10 +6253,10 @@ func Available() bool <span class="cov2" title="2">{ return HasBinary() &&am var lookPath = exec.LookPath var command = exec.Command -func HasBinary() bool <span class="cov4" title="4">{ _, err := lookPath("tmux"); return err == nil }</span> +func HasBinary() bool <span class="cov10" title="29">{ _, 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> +func InSession() bool <span class="cov9" title="28">{ return strings.TrimSpace(os.Getenv("TMUX")) != "" }</span> // SplitOpts controls how a new pane is created for running a command. type SplitOpts struct { @@ -6268,7 +6313,7 @@ func shellJoin(argv []string) string <span class="cov1" title="1">{ // 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">{ + for i := 0; i < len(s); i++ </span><span class="cov9" 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> diff --git a/docs/coverage.out b/docs/coverage.out index 29c09e0..45ffbdd 100644 --- a/docs/coverage.out +++ b/docs/coverage.out @@ -425,30 +425,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -492,47 +492,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -1448,176 +1448,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -1747,6 +1748,15 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -1772,8 +1782,6 @@ 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-tmux-action/main.go:12.13,25.110 9 0 -codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 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 @@ -2200,30 +2208,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -2267,47 +2275,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -3223,176 +3231,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -3522,6 +3531,15 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -3557,302 +3575,302 @@ 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/hexai-tmux-action/main.go:12.13,25.110 9 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.16,154.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.38,303.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:306.2,306.44 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:306.44,313.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.44 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.44,319.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.36,325.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.82 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.82,331.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.47 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.47,337.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:340.2,340.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:340.68,347.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:350.2,350.71 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:350.71,357.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:360.2,360.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:360.68,367.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:371.2,371.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:371.59,372.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:372.67,374.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.66,377.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.66,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:384.3,384.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:384.64,386.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:387.3,387.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:387.65,389.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:392.2,392.53 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:392.53,394.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:396.5,396.62 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:396.62,397.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:397.67,399.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.71 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.71,402.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.68,405.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.65,408.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.69 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.69,411.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.66,414.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:415.3,415.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:415.66,417.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:418.9,418.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:418.70,420.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:421.9,421.74 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.38,303.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:306.2,306.44 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:306.44,313.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.44 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.44,319.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.36 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.36,325.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.82 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.82,331.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.47 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.47,337.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:340.2,340.68 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:340.68,347.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:350.2,350.71 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:350.71,357.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:360.2,360.68 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:360.68,367.3 2 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:371.2,371.59 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:371.59,372.67 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.67,374.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.66,377.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.66,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:384.3,384.64 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:384.64,386.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:387.3,387.65 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:387.65,389.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:392.2,392.53 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:392.53,394.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:396.5,396.62 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:396.62,397.67 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.67,399.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.71 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.71,402.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.68 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.68,405.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.65 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.65,408.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.69 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.69,411.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.66,414.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:415.3,415.66 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:415.66,417.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.9,418.70 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.70,420.10 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.9,421.74 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:421.74,423.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:424.9,424.72 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:424.9,424.72 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:424.72,426.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:429.2,429.45 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:429.45,430.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:430.60,432.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.3,433.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:429.2,429.45 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:429.45,430.60 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:430.60,432.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.3,433.60 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 1 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.43,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:463.3,463.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:467.2,476.21 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:476.21,477.216 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:477.216,478.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:463.3,463.24 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:467.2,476.21 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:476.21,477.216 1 27 +codeberg.org/snonux/hexai/internal/appconfig/config.go:477.216,478.12 1 27 codeberg.org/snonux/hexai/internal/appconfig/config.go:480.3,480.41 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:480.41,482.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:485.2,485.19 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:485.19,487.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:491.2,493.53 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:493.53,494.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:494.59,495.26 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.40 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:485.2,485.19 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:485.19,487.3 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:491.2,493.53 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.53,494.59 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:494.59,495.26 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.40 1 3 codeberg.org/snonux/hexai/internal/appconfig/config.go:498.13,499.35 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:500.17,501.40 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.50 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:505.50,506.52 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:506.52,507.26 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:508.15,509.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.50 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.50,506.52 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:506.52,507.26 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:508.15,509.34 1 3 codeberg.org/snonux/hexai/internal/appconfig/config.go:510.13,511.29 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:512.17,513.34 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:517.2,517.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:520.37,524.2 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:527.39,528.25 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:528.25,530.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.56,533.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.34 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.34,536.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.32 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.32,539.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.32 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.32,542.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.36,545.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.38 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.38,548.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.36,551.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.36,554.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.38 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.38,557.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.55 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.55,560.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:561.2,561.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:561.56,563.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:564.2,564.55 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:564.55,566.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:567.2,567.33 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:567.33,569.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:570.2,570.53 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:570.53,572.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:576.40,578.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:578.66,580.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.65,583.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:584.2,584.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:584.65,586.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:587.2,587.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:587.64,589.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:590.2,590.63 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:590.63,592.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.64,595.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:597.2,597.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:597.59,599.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:601.2,601.53 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:601.53,603.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.66,607.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.70,610.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.67 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.67,613.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.64 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.64,616.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:617.2,617.68 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:617.68,619.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:620.2,620.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:620.65,622.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:623.2,623.65 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:623.65,625.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:626.5,626.66 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:626.66,628.6 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:629.5,629.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:517.2,517.18 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:520.37,524.2 3 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:527.39,528.25 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.25,530.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.56 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.56,533.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.34 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.34,536.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.32 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.32,539.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.32 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.32,542.3 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.36 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.36,545.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.38 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.38,548.3 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.36 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.36,551.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.36 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.36,554.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.38 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.38,557.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.55 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.55,560.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:561.2,561.56 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:561.56,563.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.2,564.55 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.55,566.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:567.2,567.33 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:567.33,569.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:570.2,570.53 1 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:570.53,572.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:576.40,578.66 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.66,580.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.65,583.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:584.2,584.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:584.65,586.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:587.2,587.64 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:587.64,589.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:590.2,590.63 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:590.63,592.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.64 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.64,595.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:597.2,597.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:597.59,599.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:601.2,601.53 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:601.53,603.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.66 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.66,607.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.70 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.70,610.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.67 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.67,613.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.64 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.64,616.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:617.2,617.68 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:617.68,619.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:620.2,620.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:620.65,622.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:623.2,623.65 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:623.65,625.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:626.5,626.66 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:626.66,628.6 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:629.5,629.70 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:629.70,631.6 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:632.5,632.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:632.5,632.68 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:632.68,634.6 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:636.2,636.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:636.59,638.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:639.2,639.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:639.59,641.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:645.47,646.58 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:646.58,648.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.56,651.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.36,654.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:655.2,655.58 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:655.58,657.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:658.2,658.56 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:658.56,660.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:661.2,661.36 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:661.36,663.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:664.2,664.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:664.59,666.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:636.2,636.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:636.59,638.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:639.2,639.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:639.59,641.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:645.47,646.58 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.58,648.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.56 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.56,651.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.36 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.36,654.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:655.2,655.58 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:655.58,657.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:658.2,658.56 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:658.56,660.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.2,661.36 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.36,663.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:664.2,664.59 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:664.59,666.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 6 codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:681.17,683.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 120 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 35 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 28 +codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 7 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.17,706.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:706.21,708.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:709.4,709.19 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 20 +codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 16 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:719.17,720.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:720.21,722.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:723.4,723.21 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:774.47,777.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.48,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:782.47,785.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 5 codeberg.org/snonux/hexai/internal/appconfig/config.go:786.49,789.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:789.27,790.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:790.42,792.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:794.3,794.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 3 -codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:17.17,19.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 3 +codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:25.49,31.2 5 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 0 codeberg.org/snonux/hexai/internal/editor/editor.go:44.19,46.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.25,50.51 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.25,50.51 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:50.51,53.10 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:55.36,58.6 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:59.37,61.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:62.47,64.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:66.19,68.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.21 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.21,30.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.5,32.93 1 0 @@ -3973,30 +3991,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -4040,47 +4058,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -4996,176 +5014,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -5295,6 +5314,15 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -5330,302 +5358,302 @@ 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/hexai-tmux-action/main.go:12.13,25.110 9 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.16,154.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:300.38,303.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:306.2,306.44 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:306.44,313.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.44 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:316.44,319.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.36 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:322.36,325.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.82 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:328.82,331.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.47 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:334.47,337.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:340.2,340.68 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:340.68,347.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:350.2,350.71 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:350.71,357.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:360.2,360.68 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:360.68,367.3 2 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:371.2,371.59 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:371.59,372.67 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:372.67,374.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:375.66,377.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:378.66,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:384.3,384.64 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:384.64,386.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:387.3,387.65 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:387.65,389.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:392.2,392.53 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:392.53,394.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:396.5,396.62 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:396.62,397.67 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:397.67,399.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.71 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:400.71,402.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.68 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:403.68,405.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.65 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:406.65,408.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.69 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:409.69,411.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:412.66,414.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:415.3,415.66 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:415.66,417.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:418.9,418.70 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:418.70,420.10 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:421.9,421.74 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:300.38,303.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:306.2,306.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:306.44,313.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.2,316.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:316.44,319.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.2,322.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:322.36,325.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.2,328.82 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:328.82,331.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.2,334.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:334.47,337.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:340.2,340.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:340.68,347.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:350.2,350.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:350.71,357.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:360.2,360.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:360.68,367.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:371.2,371.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:371.59,372.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:372.67,374.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.3,375.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:375.66,377.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.3,378.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:378.66,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:384.3,384.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:384.64,386.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:387.3,387.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:387.65,389.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:392.2,392.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:392.53,394.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:396.5,396.62 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:396.62,397.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:397.67,399.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.3,400.71 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:400.71,402.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.3,403.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:403.68,405.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.3,406.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:406.65,408.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.3,409.69 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:409.69,411.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.3,412.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:412.66,414.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:415.3,415.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:415.66,417.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.9,418.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:418.70,420.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:421.9,421.74 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:421.74,423.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:424.9,424.72 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:424.9,424.72 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:424.72,426.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:429.2,429.45 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:429.45,430.60 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:430.60,432.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.3,433.60 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:429.2,429.45 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:429.45,430.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:430.60,432.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.3,433.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.43,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:463.3,463.24 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:467.2,476.21 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:476.21,477.216 1 27 -codeberg.org/snonux/hexai/internal/appconfig/config.go:477.216,478.12 1 27 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:463.3,463.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:467.2,476.21 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:476.21,477.216 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:477.216,478.12 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:480.3,480.41 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:480.41,482.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:485.2,485.19 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:485.19,487.3 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:491.2,493.53 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:493.53,494.59 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:494.59,495.26 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.40 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:485.2,485.19 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:485.19,487.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:491.2,493.53 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:493.53,494.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:494.59,495.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:496.15,497.40 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:498.13,499.35 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:500.17,501.40 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.50 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:505.50,506.52 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:506.52,507.26 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:508.15,509.34 1 3 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.2,505.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:505.50,506.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:506.52,507.26 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:508.15,509.34 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:510.13,511.29 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:512.17,513.34 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:517.2,517.18 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:520.37,524.2 3 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:527.39,528.25 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:528.25,530.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.56 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:531.56,533.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.34 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:534.34,536.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.32 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:537.32,539.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.32 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:540.32,542.3 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.36 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:543.36,545.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.38 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:546.38,548.3 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.36 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:549.36,551.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.36 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:552.36,554.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.38 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:555.38,557.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.55 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:558.55,560.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:561.2,561.56 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:561.56,563.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:564.2,564.55 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:564.55,566.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:567.2,567.33 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:567.33,569.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:570.2,570.53 1 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:570.53,572.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:576.40,578.66 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:578.66,580.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:581.65,583.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:584.2,584.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:584.65,586.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:587.2,587.64 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:587.64,589.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:590.2,590.63 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:590.63,592.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.64 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:593.64,595.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:597.2,597.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:597.59,599.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:601.2,601.53 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:601.53,603.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.66 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:605.66,607.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.70 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:608.70,610.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.67 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:611.67,613.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.64 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:614.64,616.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:617.2,617.68 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:617.68,619.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:620.2,620.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:620.65,622.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:623.2,623.65 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:623.65,625.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:626.5,626.66 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:626.66,628.6 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:629.5,629.70 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:517.2,517.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:520.37,524.2 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:527.39,528.25 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:528.25,530.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.2,531.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:531.56,533.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.2,534.34 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:534.34,536.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.2,537.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:537.32,539.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.2,540.32 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:540.32,542.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.2,543.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:543.36,545.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.2,546.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:546.38,548.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.2,549.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:549.36,551.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.2,552.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:552.36,554.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.2,555.38 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:555.38,557.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.2,558.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:558.55,560.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:561.2,561.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:561.56,563.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.2,564.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:564.55,566.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:567.2,567.33 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:567.33,569.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:570.2,570.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:570.53,572.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:576.40,578.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:578.66,580.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.2,581.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:581.65,583.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:584.2,584.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:584.65,586.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:587.2,587.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:587.64,589.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:590.2,590.63 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:590.63,592.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.2,593.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:593.64,595.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:597.2,597.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:597.59,599.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:601.2,601.53 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:601.53,603.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.2,605.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:605.66,607.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.2,608.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:608.70,610.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.2,611.67 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:611.67,613.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.2,614.64 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:614.64,616.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:617.2,617.68 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:617.68,619.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:620.2,620.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:620.65,622.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:623.2,623.65 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:623.65,625.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:626.5,626.66 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:626.66,628.6 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:629.5,629.70 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:629.70,631.6 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:632.5,632.68 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:632.5,632.68 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:632.68,634.6 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:636.2,636.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:636.59,638.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:639.2,639.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:639.59,641.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:645.47,646.58 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:646.58,648.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.56 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:649.56,651.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.36 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:652.36,654.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:655.2,655.58 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:655.58,657.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:658.2,658.56 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:658.56,660.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:661.2,661.36 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:661.36,663.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:664.2,664.59 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:664.59,666.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 6 +codeberg.org/snonux/hexai/internal/appconfig/config.go:636.2,636.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:636.59,638.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:639.2,639.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:639.59,641.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:645.47,646.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:646.58,648.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.2,649.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:649.56,651.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.2,652.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:652.36,654.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:655.2,655.58 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:655.58,657.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:658.2,658.56 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:658.56,660.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.2,661.36 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:661.36,663.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:664.2,664.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:664.59,666.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:681.17,683.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 6 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 120 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 35 -codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 28 -codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 7 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.17,706.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:706.21,708.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:709.4,709.19 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 7 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 20 -codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 16 -codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:719.17,720.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:720.21,722.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:723.4,723.21 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 3 -codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:774.47,777.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.48,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:782.47,785.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:786.49,789.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:789.27,790.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:790.42,792.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:794.3,794.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 3 +codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 3 codeberg.org/snonux/hexai/internal/editor/editor.go:17.17,19.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 3 codeberg.org/snonux/hexai/internal/editor/editor.go:25.49,31.2 5 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 1 codeberg.org/snonux/hexai/internal/editor/editor.go:44.19,46.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.25,50.51 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.25,50.51 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:50.51,53.10 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:55.36,58.6 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:59.37,61.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:62.47,64.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:66.19,68.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.21 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.21,30.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.5,32.93 1 0 @@ -5746,30 +5774,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -5813,47 +5841,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -6769,176 +6797,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -7068,6 +7097,15 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -7093,6 +7131,8 @@ 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-tmux-action/main.go:12.13,25.110 9 0 +codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 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 @@ -7519,30 +7559,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -7586,47 +7626,47 @@ 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:24.95,29.16 4 3 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 7 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 4 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 7 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 4 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 6 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 6 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 4 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 1 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 4 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 7 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 5 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 5 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 2 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 3 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 5 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 4 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 3 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 7 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 4 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 7 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 4 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 6 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 6 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 4 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 4 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 7 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 5 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 5 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 2 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 3 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 5 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 4 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 1 2 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 @@ -8542,176 +8582,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -8841,9 +8882,18 @@ 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/status.go:10.21,12.16 2 12 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 12 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 12 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 12 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 12 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 1 12 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:17.23,17.72 2 12 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 12 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 @@ -8876,16 +8926,16 @@ 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/hexai-tmux-action/main.go:12.13,25.110 9 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 5 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 1 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.16,154.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 0 @@ -8950,10 +9000,10 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.43,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 0 @@ -9067,283 +9117,283 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:681.17,683.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 96 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 28 -codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 28 +codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.17,706.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:706.21,708.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:709.4,709.19 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 16 -codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 16 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:719.17,720.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:720.21,722.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:723.4,723.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:774.47,777.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.48,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:782.47,785.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:786.49,789.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:789.27,790.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:790.42,792.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:794.3,794.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:17.17,19.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:25.49,31.2 5 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 0 codeberg.org/snonux/hexai/internal/editor/editor.go:44.19,46.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:49.25,50.51 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:50.51,53.10 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:55.36,58.6 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:59.37,61.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:62.47,64.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:66.19,68.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.21 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.21,30.6 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.5,32.93 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.21 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.21,30.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.5,32.93 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:36.37,36.72 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:42.83,45.23 3 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:42.83,45.23 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:45.24,45.25 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:46.5,46.24 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:46.5,46.24 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:46.25,46.26 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.5,47.35 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.35,49.23 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.5,47.35 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.35,49.23 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:49.23,49.48 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:49.49,49.50 0 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:49.59,49.60 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:50.9,51.26 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:51.26,51.43 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.5,53.36 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.36,55.23 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:50.9,51.26 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:51.26,51.43 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.5,53.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.36,55.23 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:55.23,55.48 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:55.49,55.50 0 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:55.59,55.60 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:56.9,57.27 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:57.27,57.44 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:59.5,59.43 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:63.92,64.22 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:64.22,67.25 2 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:67.25,69.27 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:56.9,57.27 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:57.27,57.44 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:59.5,59.43 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:63.92,64.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:64.22,67.25 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:67.25,69.27 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:69.27,69.41 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.13,70.25 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.25,70.42 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:71.13,71.19 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:73.9,73.46 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:75.5,77.19 3 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.13,70.25 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.25,70.42 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:71.13,71.19 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:73.9,73.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:75.5,77.19 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:77.19,77.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:78.5,79.55 2 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:78.5,79.55 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:79.55,81.82 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:81.82,83.10 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:84.11,86.6 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:87.5,87.35 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:90.98,92.19 2 4 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:84.11,86.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:87.5,87.35 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:90.98,92.19 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:92.19,92.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.5,93.18 1 4 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.18,93.43 1 4 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:94.5,96.55 3 4 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.5,93.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.18,93.43 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:94.5,96.55 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:96.55,96.69 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:97.5,98.19 2 4 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:98.19,98.33 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:99.5,101.50 3 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:101.50,101.64 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:102.5,102.64 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:97.5,98.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:98.19,98.33 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:99.5,101.50 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:101.50,101.64 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:102.5,102.64 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:102.64,102.78 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:103.5,103.38 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:106.55,108.19 2 5 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:103.5,103.38 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:106.55,108.19 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:108.19,108.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.5,109.18 1 5 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.18,109.35 1 5 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:110.5,110.48 1 5 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.5,109.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.18,109.35 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:110.5,110.48 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:110.48,110.62 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:111.5,111.20 1 5 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:114.60,116.9 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:116.9,117.48 1 4 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:117.48,117.62 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.9,118.39 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.39,118.113 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:119.9,119.43 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:123.48,125.19 2 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:111.5,111.20 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:114.60,116.9 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:116.9,117.48 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:117.48,117.62 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.9,118.39 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.39,118.113 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:119.9,119.43 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:123.48,125.19 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:125.19,125.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.5,126.18 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.18,126.35 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:127.5,128.15 2 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:132.83,135.21 3 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:135.21,137.23 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.5,126.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.18,126.35 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:127.5,128.15 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:132.83,135.21 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:135.21,137.23 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:137.23,137.37 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.9,138.22 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.22,138.39 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:139.9,139.15 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.5,141.22 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.22,143.23 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.9,138.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.22,138.39 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:139.9,139.15 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.5,141.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.22,143.23 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:143.23,143.37 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.9,144.22 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.22,144.39 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:145.9,145.16 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:147.5,148.15 2 2 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 5 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.9,144.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.22,144.39 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:145.9,145.16 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:147.5,148.15 2 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 5 +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 5 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:32.27,34.26 2 6 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:34.26,36.9 2 1 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.2,39.18 1 5 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.18,41.3 1 4 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:43.2,45.28 3 1 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:45.28,47.14 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:47.14,49.9 2 1 -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 8 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:14.54,14.97 1 10 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:17.35,17.73 1 11 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:23.121,27.2 3 4 -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 +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 2 -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: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.109,55.2 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.106,61.2 3 2 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.86,66.19 3 1 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.106,61.2 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.86,66.19 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:66.19,68.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.5,69.52 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.120,75.19 3 9 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.5,69.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.120,75.19 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:75.19,77.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.5,78.52 1 9 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:82.57,84.37 2 9 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 5 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 9 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 4 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 4 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 3 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 3 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 7 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 2 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 2 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 2 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 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,43.2 7 4 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.31,45.45 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.57,48.27 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.5,78.52 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:82.57,84.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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,43.2 7 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.31,45.45 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.57,48.27 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:49.18,50.27 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:51.25,52.40 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:54.2,56.15 3 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:59.62,62.16 3 3 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:63.21,67.27 3 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:51.25,52.40 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:54.2,56.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:59.62,62.16 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:63.21,67.27 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:68.18,69.55 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:69.55,73.10 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:74.22,75.28 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:76.20,77.26 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:78.22,79.25 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:78.22,79.25 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:80.16,81.44 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:81.44,81.68 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:82.39,84.41 2 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:84.41,85.91 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:85.91,90.14 4 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.5,93.19 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.19,94.44 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.44,94.68 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:96.5,96.18 1 1 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:99.30,100.12 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:82.39,84.41 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:84.41,85.91 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:85.91,90.14 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.5,93.19 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.19,94.44 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.44,94.68 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:96.5,96.18 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:99.30,100.12 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:100.12,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:103.2,103.22 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:103.2,103.22 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:107.35,110.16 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:110.16,112.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:113.2,113.29 1 0 @@ -9351,55 +9401,55 @@ codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:113.29,114.21 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:114.21,116.4 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:117.3,117.23 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:119.2,119.56 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:20.61,20.73 1 18 -codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:21.61,21.73 1 32 -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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 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:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -9687,17 +9737,17 @@ 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 5 +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 9 +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 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: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: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 @@ -9711,25 +9761,25 @@ 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 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 -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/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 1 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 1 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 1 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 1 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:25.29,28.3 1 1 +codeberg.org/snonux/hexai/internal/logging/logging.go:27.26,27.37 1 1 +codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 3 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:34.2,35.48 2 3 +codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 1 +codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 2 +codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 2 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:51.3,51.37 1 2 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 @@ -10315,176 +10365,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -10562,58 +10613,67 @@ 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 10 +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 10 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 15 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 10 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 11 +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 11 +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 11 +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 11 +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 11 -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 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:50.105,53.10 2 8 +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 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:62.53,64.6 1 3 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.5,65.47 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.47,66.57 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:66.57,71.10 4 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.5,73.49 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.49,74.58 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:74.58,79.10 4 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.5,81.47 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.47,83.6 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.5,84.46 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.46,86.6 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.5,87.47 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.47,89.6 1 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.5,90.24 1 8 +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 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:92.33,93.69 1 1 +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 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:100.79,101.36 1 8 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:101.36,102.27 1 55 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:102.27,102.37 1 52 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.9,103.48 1 3 +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 3 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.44,105.31 1 26 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:105.31,106.49 1 3 +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 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 5 +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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -11065,30 +11125,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -11132,47 +11192,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -11303,11 +11363,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 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: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 @@ -11371,11 +11431,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 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: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 @@ -11466,17 +11526,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 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 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 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 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: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 @@ -11484,12 +11544,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 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/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 @@ -12088,176 +12148,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -12335,58 +12396,67 @@ 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 3 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:7.34,9.6 1 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:10.5,11.28 2 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 5 +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 5 +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 5 +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 5 +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 5 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:37.72,40.6 2 3 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:41.5,41.13 1 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 6 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 6 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:50.105,53.10 2 6 +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 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:62.53,64.6 1 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.5,65.47 1 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.47,66.57 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:66.57,71.10 4 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.5,73.49 1 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.49,74.58 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:74.58,79.10 4 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.5,81.47 1 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.47,83.6 1 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.5,84.46 1 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.46,86.6 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.5,87.47 1 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.47,89.6 1 2 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.5,90.24 1 7 +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 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:92.33,93.69 1 2 +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 7 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:100.79,101.36 1 9 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:101.36,102.27 1 58 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:102.27,102.37 1 53 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.9,103.48 1 5 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.48,103.58 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.9,104.44 1 4 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.44,105.31 1 15 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:105.31,106.49 1 3 +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 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/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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -12422,16 +12492,16 @@ 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/hexai-tmux-action/main.go:12.13,25.110 9 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.16,154.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 0 @@ -12496,10 +12566,10 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.43,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 0 @@ -12613,86 +12683,86 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:681.17,683.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 48 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 14 codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.17,706.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:706.21,708.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:709.4,709.19 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 8 +codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 8 codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:719.17,720.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:720.21,722.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:723.4,723.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:774.47,777.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.48,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:782.47,785.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:786.49,789.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:789.27,790.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:790.42,792.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:794.3,794.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 2 codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 0 @@ -12838,30 +12908,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -12905,71 +12975,71 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 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/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:25.85,27.38 2 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:27.38,29.17 2 1 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:32.3,33.22 2 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:35.2,37.70 3 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:42.159,49.37 6 7 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:52.2,52.12 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:57.49,59.30 2 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:59.30,61.3 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:64.72,65.19 1 7 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,146.2 1 0 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:68.2,82.36 3 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:82.36,84.3 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:86.2,87.36 2 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:87.36,89.3 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.2,90.67 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.67,93.3 2 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:93.8,96.3 2 6 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:99.57,100.20 1 7 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.20,102.3 1 6 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.2,103.97 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.97,105.3 1 1 +codeberg.org/snonux/hexai/internal/hexailsp/run.go:108.97,146.2 1 7 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 @@ -13076,11 +13146,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 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: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 @@ -13096,8 +13166,8 @@ 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: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 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 @@ -13144,11 +13214,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 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:78.76,79.38 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 5 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 @@ -13166,8 +13236,8 @@ 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:141.45,141.64 1 5 +codeberg.org/snonux/hexai/internal/llm/openai.go:142.45,142.70 1 5 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 @@ -13239,17 +13309,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 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: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:85.84,87.13 2 7 +codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 6 +codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 7 +codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 6 +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 5 +codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 3 +codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 5 +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 0 -codeberg.org/snonux/hexai/internal/llm/provider.go:106.3,106.83 1 0 +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 @@ -13262,20 +13332,20 @@ 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 1 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:18.3,20.12 2 1 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:20.12,22.3 1 1 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:23.2,25.29 2 1 -codeberg.org/snonux/hexai/internal/logging/chatlogger.go:25.29,28.3 1 1 +codeberg.org/snonux/hexai/internal/logging/chatlogger.go:9.48,11.2 1 6 +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 1 -codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 3 -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 3 -codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 1 -codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 2 -codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 2 +codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 7 +codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 1 3 +codeberg.org/snonux/hexai/internal/logging/logging.go:34.2,35.48 2 4 +codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 8 +codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 1 +codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 1 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 2 +codeberg.org/snonux/hexai/internal/logging/logging.go:51.3,51.37 1 1 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 @@ -13861,218 +13931,219 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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:130.90,133.20 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 1 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 1 codeberg.org/snonux/hexai/internal/lsp/server.go:138.23,140.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:141.2,142.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:141.2,142.22 2 1 codeberg.org/snonux/hexai/internal/lsp/server.go:142.22,144.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:145.2,146.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:145.2,146.27 2 1 codeberg.org/snonux/hexai/internal/lsp/server.go:146.27,148.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:149.2,155.38 6 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:155.38,158.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:149.2,155.38 6 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:155.38,158.3 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:158.8,160.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:161.2,164.35 4 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:164.35,166.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:167.2,167.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:161.2,164.35 4 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:164.35,166.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:167.2,167.35 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:167.35,169.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:171.2,171.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:171.2,171.46 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:171.46,173.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:173.8,175.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:176.2,176.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:173.8,175.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:176.2,176.47 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:176.47,178.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:178.8,180.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:181.2,181.46 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:178.8,180.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:181.2,181.46 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:181.46,183.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:183.8,185.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:186.2,186.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:183.8,185.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:186.2,186.33 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:186.33,188.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:188.8,190.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:193.2,213.24 19 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.25 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:216.25,218.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:219.2,219.24 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:219.24,221.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:222.2,222.29 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:222.29,224.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:226.2,228.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:188.8,190.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:193.2,213.24 19 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:213.24,215.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.2,216.25 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.25,218.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:219.2,219.24 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:219.24,221.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:222.2,222.29 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:222.29,224.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:226.2,228.47 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:228.47,228.72 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:230.47,230.65 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:239.2,239.10 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:242.30,243.6 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:243.6,245.20 2 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:245.20,247.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:239.2,239.10 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:242.30,243.6 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:243.6,245.20 2 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:245.20,247.4 1 1 codeberg.org/snonux/hexai/internal/lsp/server.go:248.3,248.17 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:248.17,250.4 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:251.3,252.52 2 0 @@ -14081,9 +14152,9 @@ codeberg.org/snonux/hexai/internal/lsp/server.go:256.3,256.23 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:256.23,258.12 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:260.3,261.15 2 0 codeberg.org/snonux/hexai/internal/lsp/server.go:261.15,263.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:15.48,18.6 3 1 +codeberg.org/snonux/hexai/internal/lsp/transport.go:18.6,20.17 2 1 +codeberg.org/snonux/hexai/internal/lsp/transport.go:20.17,22.4 1 1 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 @@ -14160,6 +14231,15 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -14611,30 +14691,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -14678,47 +14758,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -14743,313 +14823,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,146.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: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 0 -codeberg.org/snonux/hexai/internal/llm/copilot.go:85.109,86.39 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 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 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 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 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: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 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 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: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 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: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 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: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 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: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 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 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 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 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 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 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: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 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 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: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 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 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 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 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 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/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 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 0 -codeberg.org/snonux/hexai/internal/llm/ollama.go:60.108,62.27 2 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 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 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 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: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 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 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 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 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 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: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 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: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 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/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 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 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: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 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 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 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 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: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 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 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 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 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 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 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: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 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: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 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: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 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: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 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: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 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/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 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: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 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/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 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/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 0 -codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 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 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 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 @@ -15634,176 +15714,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -15933,31 +16014,40 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 1 -codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.3 1 1 +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 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: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 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/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 @@ -15968,16 +16058,16 @@ 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/hexai-tmux-action/main.go:12.13,25.110 9 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 5 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 1 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.16,154.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 0 @@ -16042,10 +16132,10 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.43,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 0 @@ -16159,283 +16249,283 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:681.17,683.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 96 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 28 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 28 codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.17,706.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:706.21,708.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:709.4,709.19 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 16 +codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 16 codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:719.17,720.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:720.21,722.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:723.4,723.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:774.47,777.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.48,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:782.47,785.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:786.49,789.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:789.27,790.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:790.42,792.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:794.3,794.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 4 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 4 codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:17.5,17.17 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:17.17,19.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:20.5,20.19 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:25.49,31.2 5 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.19 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:42.5,44.19 3 1 codeberg.org/snonux/hexai/internal/editor/editor.go:44.19,46.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:47.5,48.18 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:48.18,48.41 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.5,49.25 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:49.25,50.51 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:50.51,53.10 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:55.5,55.36 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:55.36,58.6 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:59.5,59.37 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:59.37,61.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:62.5,62.47 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:62.47,64.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:65.5,66.19 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:66.19,68.6 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.21 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.21,30.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.5,32.93 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:69.5,69.45 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.21 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.21,30.6 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.5,32.93 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:36.37,36.72 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:42.83,45.23 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:42.83,45.23 3 3 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:45.24,45.25 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:46.5,46.24 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:46.5,46.24 1 3 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:46.25,46.26 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.5,47.35 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.35,49.23 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.5,47.35 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:47.35,49.23 2 3 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:49.23,49.48 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:49.49,49.50 0 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:49.59,49.60 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:50.9,51.26 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:51.26,51.43 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.5,53.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.36,55.23 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:50.9,51.26 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:51.26,51.43 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.5,53.36 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:53.36,55.23 2 3 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:55.23,55.48 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:55.49,55.50 0 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:55.59,55.60 0 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:56.9,57.27 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:57.27,57.44 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:59.5,59.43 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:63.92,64.22 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:64.22,67.25 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:67.25,69.27 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:56.9,57.27 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:57.27,57.44 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:59.5,59.43 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:63.92,64.22 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:64.22,67.25 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:67.25,69.27 2 1 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:69.27,69.41 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.13,70.25 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.25,70.42 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:71.13,71.19 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:73.9,73.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:75.5,77.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.13,70.25 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:70.25,70.42 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:71.13,71.19 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:73.9,73.46 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:75.5,77.19 3 2 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:77.19,77.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:78.5,79.55 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:78.5,79.55 2 2 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:79.55,81.82 2 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:81.82,83.10 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:84.11,86.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:87.5,87.35 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:90.98,92.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:84.11,86.6 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:87.5,87.35 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:90.98,92.19 2 4 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:92.19,92.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.5,93.18 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.18,93.43 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:94.5,96.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.5,93.18 1 4 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:93.18,93.43 1 4 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:94.5,96.55 3 4 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:96.55,96.69 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:97.5,98.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:98.19,98.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:99.5,101.50 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:101.50,101.64 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:102.5,102.64 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:97.5,98.19 2 4 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:98.19,98.33 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:99.5,101.50 3 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:101.50,101.64 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:102.5,102.64 1 2 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:102.64,102.78 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:103.5,103.38 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:106.55,108.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:103.5,103.38 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:106.55,108.19 2 5 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:108.19,108.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.5,109.18 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.18,109.35 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:110.5,110.48 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.5,109.18 1 5 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:109.18,109.35 1 5 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:110.5,110.48 1 5 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:110.48,110.62 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:111.5,111.20 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:114.60,116.9 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:116.9,117.48 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:117.48,117.62 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.9,118.39 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.39,118.113 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:119.9,119.43 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:123.48,125.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:111.5,111.20 1 5 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:114.60,116.9 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:116.9,117.48 1 4 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:117.48,117.62 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.9,118.39 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:118.39,118.113 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:119.9,119.43 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:123.48,125.19 2 2 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:125.19,125.33 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.5,126.18 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.18,126.35 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:127.5,128.15 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:132.83,135.21 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:135.21,137.23 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.5,126.18 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:126.18,126.35 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:127.5,128.15 2 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:132.83,135.21 3 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:135.21,137.23 2 1 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:137.23,137.37 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.9,138.22 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.22,138.39 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:139.9,139.15 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.5,141.22 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.22,143.23 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.9,138.22 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:138.22,138.39 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:139.9,139.15 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.5,141.22 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:141.22,143.23 2 1 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:143.23,143.37 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.9,144.22 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.22,144.39 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:145.9,145.16 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:147.5,148.15 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.9,144.22 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:144.22,144.39 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:145.9,145.16 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:147.5,148.15 2 2 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:20.50,22.16 2 5 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:25.2,26.15 2 5 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/parse.go:29.2,32.27 3 5 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:32.27,34.26 2 6 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:34.26,36.9 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.2,39.18 1 5 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:39.18,41.3 1 4 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:43.2,45.28 3 1 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:45.28,47.14 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/parse.go:47.14,49.9 2 1 +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 8 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:14.54,14.97 1 10 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:17.35,17.73 1 11 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:23.121,27.2 3 4 +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 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:35.3,36.23 2 2 +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.109,55.2 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.106,61.2 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.86,66.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:57.106,61.2 3 2 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:63.86,66.19 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:66.19,68.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.5,69.52 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.120,75.19 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:69.5,69.52 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:72.120,75.19 3 9 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:75.19,77.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.5,78.52 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:82.57,84.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 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,43.2 7 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.31,45.45 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.57,48.27 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:78.5,78.52 1 9 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:82.57,84.37 2 9 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 5 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 9 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 4 +codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 4 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 3 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 3 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 3 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 3 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 7 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 2 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 2 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 2 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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,43.2 7 4 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:45.31,45.45 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:47.57,48.27 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:49.18,50.27 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:51.25,52.40 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:54.2,56.15 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:59.62,62.16 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:63.21,67.27 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:51.25,52.40 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:54.2,56.15 3 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:59.62,62.16 3 3 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:63.21,67.27 3 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:68.18,69.55 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:69.55,73.10 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:74.22,75.28 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:76.20,77.26 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:78.22,79.25 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:78.22,79.25 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:80.16,81.44 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:81.44,81.68 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:82.39,84.41 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:84.41,85.91 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:85.91,90.14 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.5,93.19 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.19,94.44 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.44,94.68 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:96.5,96.18 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:99.30,100.12 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:82.39,84.41 2 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:84.41,85.91 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:85.91,90.14 4 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.5,93.19 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:93.19,94.44 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:94.44,94.68 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:96.5,96.18 1 1 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:99.30,100.12 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:100.12,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:103.2,103.22 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:103.2,103.22 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:107.35,110.16 3 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:110.16,112.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:113.2,113.29 1 0 @@ -16443,55 +16533,55 @@ codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:113.29,114.21 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:114.21,116.4 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:117.3,117.23 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/tui.go:119.2,119.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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:20.61,20.73 1 18 +codeberg.org/snonux/hexai/internal/hexaiaction/tui_delegate.go:21.61,21.73 1 32 +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:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -16779,17 +16869,17 @@ 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.47,59.73 1 5 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.47,60.73 1 9 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 @@ -16803,11 +16893,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 @@ -17407,176 +17497,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -17652,63 +17743,72 @@ 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 1 -codeberg.org/snonux/hexai/internal/testutil/fixtures.go:24.29,26.2 1 1 -codeberg.org/snonux/hexai/internal/textutil/textutil.go:6.62,7.34 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 10 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:10.5,11.28 2 10 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 15 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 10 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 11 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:23.5,25.69 3 11 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:28.5,29.57 2 11 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.5,32.54 1 11 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:35.5,37.72 3 11 +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 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:50.105,53.10 2 8 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:59.79,62.53 3 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:62.53,64.6 1 3 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.5,65.47 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.47,66.57 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:66.57,71.10 4 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.5,73.49 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.49,74.58 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:74.58,79.10 4 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.5,81.47 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.47,83.6 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.5,84.46 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.46,86.6 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.5,87.47 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.47,89.6 1 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.5,90.24 1 8 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:91.5,92.33 2 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:92.33,93.69 1 1 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:95.5,96.36 2 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:100.79,101.36 1 8 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:101.36,102.27 1 55 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:102.27,102.37 1 52 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.9,103.48 1 3 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:104.9,104.44 1 3 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.44,105.31 1 26 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:105.31,106.49 1 3 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/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 5 +codeberg.org/snonux/hexai/internal/tmux/status.go:10.21,12.16 2 6 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 6 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 6 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 6 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 6 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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:17.23,17.72 2 6 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 6 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 @@ -18157,30 +18257,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -18224,47 +18324,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -18395,11 +18495,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 @@ -18463,11 +18563,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 @@ -18558,17 +18658,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 @@ -18576,12 +18676,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 @@ -19180,176 +19280,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -19425,8 +19526,8 @@ 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/testutil/fixtures.go:19.33,21.2 1 1 +codeberg.org/snonux/hexai/internal/testutil/fixtures.go:24.29,26.2 1 1 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 @@ -19479,6 +19580,15 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -19514,16 +19624,16 @@ 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/hexai-tmux-action/main.go:12.13,25.110 9 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:25.110,28.6 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 4 -codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:91.29,140.2 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:144.35,146.19 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:146.19,148.3 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:150.2,151.16 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:151.16,154.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:154.8,155.85 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:155.85,157.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:163.2,163.50 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:163.50,165.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:166.2,166.12 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:284.35,288.77 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:288.77,297.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:300.2,300.38 1 0 @@ -19588,10 +19698,10 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:433.60,435.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.2,438.67 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:438.67,440.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:442.2,442.12 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:445.66,447.16 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:447.16,448.43 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:448.43,450.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:451.3,451.18 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:454.2,459.22 5 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:459.22,460.20 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:460.20,462.4 1 0 @@ -19705,86 +19815,86 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:667.2,667.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:667.57,669.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.2,670.37 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:670.37,672.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:675.38,677.72 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:677.72,679.3 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:679.8,681.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:681.17,683.4 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 48 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 14 -codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 14 +codeberg.org/snonux/hexai/internal/appconfig/config.go:684.3,684.70 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:686.2,686.24 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:693.43,698.34 3 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:698.34,698.76 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.2,699.41 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:699.41,701.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:701.14,703.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:704.3,705.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:705.17,706.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:706.21,708.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:709.4,709.19 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:711.3,711.17 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 8 -codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 8 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.2,713.51 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:713.51,715.14 2 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:715.14,717.4 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:718.3,719.17 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:719.17,720.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:720.21,722.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:723.4,723.21 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:725.3,725.18 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:728.2,728.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:728.47,731.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:732.2,732.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:732.48,735.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:736.2,736.57 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:736.57,739.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:740.2,740.55 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:740.55,743.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:744.2,744.54 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:744.54,747.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:748.2,748.61 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:748.61,751.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:752.2,752.59 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:752.59,755.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:756.2,756.59 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:756.59,759.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:760.2,760.60 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:760.60,763.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:764.2,764.54 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:764.54,767.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:767.27,768.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:768.42,770.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:772.3,772.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:774.2,774.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:774.47,777.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:778.2,778.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:778.48,781.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:782.2,782.47 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:782.47,785.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:786.2,786.49 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:786.49,789.27 3 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:789.27,790.42 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:790.42,792.5 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:794.3,794.13 1 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:796.2,796.44 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:796.44,799.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:802.2,802.51 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:802.51,805.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:806.2,806.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:806.48,809.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:810.2,810.60 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:810.60,813.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:815.2,815.51 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:815.51,818.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:819.2,819.48 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:819.48,822.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:823.2,823.60 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:823.60,826.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:828.2,828.52 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:828.52,831.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:832.2,832.49 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:832.49,835.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:836.2,836.61 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:836.61,839.3 2 0 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 2 -codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 2 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.2,841.10 1 0 +codeberg.org/snonux/hexai/internal/appconfig/config.go:841.10,843.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:844.2,844.13 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.17 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:14.17,16.6 1 0 @@ -19930,30 +20040,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -19997,71 +20107,71 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:25.85,27.38 2 1 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:27.38,29.17 2 1 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 1 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:35.2,37.70 3 1 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:42.159,49.37 6 7 +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 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:57.49,59.30 2 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:59.30,61.3 1 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:64.72,65.19 1 7 +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 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:82.36,84.3 1 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:86.2,87.36 2 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:87.36,89.3 1 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.2,90.67 1 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:90.67,93.3 2 1 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:93.8,96.3 2 6 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:99.57,100.20 1 7 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:100.20,102.3 1 6 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.2,103.97 1 1 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:103.97,105.3 1 1 -codeberg.org/snonux/hexai/internal/hexailsp/run.go:108.97,146.2 1 7 +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,146.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 @@ -20168,11 +20278,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 @@ -20188,8 +20298,8 @@ 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 1 -codeberg.org/snonux/hexai/internal/llm/ollama.go:105.45,105.70 1 1 +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 @@ -20236,11 +20346,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 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:79.38,81.3 1 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:82.2,82.36 1 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:82.36,84.3 1 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:85.2,92.3 1 5 +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 @@ -20258,8 +20368,8 @@ 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 5 -codeberg.org/snonux/hexai/internal/llm/openai.go:142.45,142.70 1 5 +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 @@ -20331,17 +20441,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 7 -codeberg.org/snonux/hexai/internal/llm/provider.go:87.13,89.3 1 6 -codeberg.org/snonux/hexai/internal/llm/provider.go:90.2,90.11 1 7 -codeberg.org/snonux/hexai/internal/llm/provider.go:91.16,92.44 1 6 -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 5 -codeberg.org/snonux/hexai/internal/llm/provider.go:96.35,99.4 2 3 -codeberg.org/snonux/hexai/internal/llm/provider.go:100.3,100.97 1 5 -codeberg.org/snonux/hexai/internal/llm/provider.go:101.16,102.35 1 1 +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: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 1 +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 @@ -20354,20 +20464,20 @@ 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 6 +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 1 -codeberg.org/snonux/hexai/internal/logging/logging.go:30.47,31.16 1 7 -codeberg.org/snonux/hexai/internal/logging/logging.go:31.16,33.3 1 3 -codeberg.org/snonux/hexai/internal/logging/logging.go:34.2,35.48 2 4 -codeberg.org/snonux/hexai/internal/logging/logging.go:43.32,43.55 1 8 -codeberg.org/snonux/hexai/internal/logging/logging.go:46.37,47.25 1 1 -codeberg.org/snonux/hexai/internal/logging/logging.go:47.25,48.32 1 1 +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 1 +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 @@ -20953,218 +21063,219 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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:130.90,133.20 3 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:138.23,140.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:141.2,142.22 2 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:141.2,142.22 2 0 codeberg.org/snonux/hexai/internal/lsp/server.go:142.22,144.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:145.2,146.27 2 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:145.2,146.27 2 0 codeberg.org/snonux/hexai/internal/lsp/server.go:146.27,148.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:149.2,155.38 6 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:155.38,158.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:149.2,155.38 6 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:155.38,158.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:158.8,160.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:161.2,164.35 4 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:164.35,166.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:167.2,167.35 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:161.2,164.35 4 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:164.35,166.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:167.2,167.35 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:167.35,169.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:171.2,171.46 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:171.2,171.46 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:171.46,173.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:173.8,175.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:176.2,176.47 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:173.8,175.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:176.2,176.47 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:176.47,178.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:178.8,180.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:181.2,181.46 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:178.8,180.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:181.2,181.46 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:181.46,183.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:183.8,185.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:186.2,186.33 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:183.8,185.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:186.2,186.33 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:186.33,188.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:188.8,190.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:193.2,213.24 19 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:213.24,215.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:216.2,216.25 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:216.25,218.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:219.2,219.24 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:219.24,221.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:222.2,222.29 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:222.29,224.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:226.2,228.47 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:188.8,190.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:193.2,213.24 19 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.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:216.25,218.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:219.2,219.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:219.24,221.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:222.2,222.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:222.29,224.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:226.2,228.47 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:228.47,228.72 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:230.47,230.65 1 0 -codeberg.org/snonux/hexai/internal/lsp/server.go:239.2,239.10 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:242.30,243.6 1 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:243.6,245.20 2 1 -codeberg.org/snonux/hexai/internal/lsp/server.go:245.20,247.4 1 1 +codeberg.org/snonux/hexai/internal/lsp/server.go:239.2,239.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:242.30,243.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:243.6,245.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/server.go:245.20,247.4 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:248.3,248.17 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:248.17,250.4 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:251.3,252.52 2 0 @@ -21173,9 +21284,9 @@ codeberg.org/snonux/hexai/internal/lsp/server.go:256.3,256.23 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:256.23,258.12 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:260.3,261.15 2 0 codeberg.org/snonux/hexai/internal/lsp/server.go:261.15,263.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/transport.go:15.48,18.6 3 1 -codeberg.org/snonux/hexai/internal/lsp/transport.go:18.6,20.17 2 1 -codeberg.org/snonux/hexai/internal/lsp/transport.go:20.17,22.4 1 1 +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 @@ -21200,58 +21311,67 @@ 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:6.62,7.34 1 3 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:7.34,9.6 1 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:10.5,11.28 2 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:11.28,13.6 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:14.5,14.15 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:18.39,20.16 2 5 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:23.5,25.69 3 5 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:28.5,29.57 2 5 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.5,32.54 1 5 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:35.5,37.72 3 5 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:37.72,40.6 2 3 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:41.5,41.13 1 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:47.60,49.34 2 6 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:49.34,50.105 1 6 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:50.105,53.10 2 6 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:59.79,62.53 3 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:62.53,64.6 1 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.5,65.47 1 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:65.47,66.57 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:66.57,71.10 4 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.5,73.49 1 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:73.49,74.58 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:74.58,79.10 4 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.5,81.47 1 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:81.47,83.6 1 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.5,84.46 1 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:84.46,86.6 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.5,87.47 1 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:87.47,89.6 1 2 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:90.5,90.24 1 7 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:91.5,92.33 2 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:92.33,93.69 1 2 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:95.5,96.36 2 7 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:100.79,101.36 1 9 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:101.36,102.27 1 58 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:102.27,102.37 1 53 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.9,103.48 1 5 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:103.48,103.58 1 1 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.9,104.44 1 4 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:104.44,105.31 1 15 +codeberg.org/snonux/hexai/internal/textutil/textutil.go:105.31,106.49 1 3 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/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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 @@ -21703,30 +21823,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -21770,47 +21890,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -21835,313 +21955,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,146.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 @@ -22726,176 +22846,177 @@ 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:22.55,24.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 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/handlers_utils.go:436.3,438.12 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 0 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 0 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 0 @@ -23025,31 +23146,40 @@ 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/status.go:10.21,12.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 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 0 -codeberg.org/snonux/hexai/internal/tmux/tmux.go:36.19,38.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 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: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 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/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 @@ -23476,30 +23606,30 @@ codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:84.37,86.6 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:87.5,87.16 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:91.79,93.2 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/prompts.go:95.78,97.2 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:21.80,25.19 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:25.19,28.6 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:29.5,30.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.16,33.3 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.2,34.46 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:34.46,36.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.5,38.19 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:38.19,40.6 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.2,42.16 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:42.16,44.3 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.2,46.12 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:49.146,50.17 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:51.21,52.36 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.24,55.37 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.37,58.4 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.3,61.55 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:62.25,65.79 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.23,73.61 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.25,77.63 3 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.23,83.58 4 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:83.58,86.10 2 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.9,87.70 1 0 -codeberg.org/snonux/hexai/internal/hexaiaction/run.go:88.13,89.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:22.80,26.19 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:26.19,29.6 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:30.5,33.16 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:33.16,36.3 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.2,37.46 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:37.46,39.3 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:40.5,41.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:41.19,43.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:44.5,45.19 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:45.19,47.6 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:48.5,50.15 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:53.146,54.17 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:55.21,56.36 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:57.24,59.37 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:59.37,62.4 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:63.3,65.55 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:66.25,69.79 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:70.25,73.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:74.23,77.61 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:78.25,81.63 3 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:82.23,87.58 4 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:87.58,90.10 2 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:91.9,91.70 1 0 +codeberg.org/snonux/hexai/internal/hexaiaction/run.go:92.13,93.36 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 @@ -23543,47 +23673,47 @@ 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:24.95,29.16 4 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:29.16,32.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.5,34.23 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:34.23,35.104 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.104,37.10 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:37.16,39.10 0 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:42.5,43.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.17,46.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:47.2,49.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:49.74,52.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:53.2,53.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:58.124,60.16 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:60.16,63.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:64.2,66.74 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:66.74,69.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:70.2,70.12 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:74.64,76.82 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:76.82,79.3 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:80.2,81.9 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:82.40,83.59 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:84.23,85.24 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:86.21,87.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:88.10,89.91 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:97.48,100.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:100.40,102.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:103.2,106.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:110.77,113.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:113.40,114.58 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.58,116.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:118.2,121.3 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:125.125,128.40 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:128.40,130.56 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:130.56,133.4 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.18,135.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.3,136.22 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:137.8,139.17 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.17,141.4 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.3,143.26 2 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.2,148.12 3 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:152.59,154.2 1 0 -codeberg.org/snonux/hexai/internal/hexaicli/run.go:160.65,160.97 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:25.95,30.16 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:30.16,33.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.5,35.23 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:35.23,36.104 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:36.104,38.10 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:38.16,40.10 0 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:43.5,44.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:44.17,47.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:48.2,50.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:50.74,53.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:54.2,54.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:59.124,61.16 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:61.16,64.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:65.2,67.74 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:67.74,70.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:71.2,71.12 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:75.64,77.82 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:77.82,80.3 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:81.2,82.9 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:83.40,84.59 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:85.23,86.24 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:87.21,88.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:89.10,90.91 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:98.48,101.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:101.40,103.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:104.2,107.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:111.77,114.40 3 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:114.40,115.58 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:115.58,117.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:119.2,122.3 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:126.125,131.40 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:131.40,133.56 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:133.56,136.4 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:136.18,138.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:139.3,139.22 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:140.8,142.17 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:142.17,144.4 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:145.3,146.26 2 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:148.5,152.15 4 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:156.59,158.2 1 0 +codeberg.org/snonux/hexai/internal/hexaicli/run.go:164.65,164.97 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 @@ -24499,176 +24629,177 @@ codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:16.2,27.27 2 2 codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:30.38,32.2 1 1 codeberg.org/snonux/hexai/internal/lsp/handlers_init.go:34.46,36.2 1 1 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 17 -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 17 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:30.41,35.2 4 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:37.41,42.2 4 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:44.32,47.23 3 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:47.23,49.3 1 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:50.2,51.24 2 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.24,53.3 1 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:54.2,57.15 4 8 -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 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:67.51,68.41 1 13 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:68.41,70.3 1 7 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:71.2,73.71 3 6 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:77.62,77.105 1 33 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:79.118,80.14 1 17 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:80.14,83.16 3 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:83.16,86.35 3 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:86.35,88.5 1 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:89.4,89.36 1 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:89.36,91.5 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:92.4,94.59 3 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.59,96.5 1 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,97.21 1 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:100.2,103.19 4 14 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:106.51,107.23 1 24 -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 24 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:110.13,112.100 2 49 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.100,114.12 2 31 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:116.3,116.8 1 18 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:118.2,118.11 1 24 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.32,123.2 1 26 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.44,127.50 1 21 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:127.50,129.3 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:130.2,130.35 1 17 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:133.40,135.20 2 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.20,136.40 1 14 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:136.40,138.12 2 10 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.3,140.8 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:142.2,142.12 1 4 -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 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:148.52,149.38 1 4 -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 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.27,154.34 1 10 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.34,155.12 1 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.3,157.36 1 9 -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 9 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.2,162.34 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:170.64,172.22 2 50 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:172.22,175.12 2 65 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.12,177.4 1 27 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:178.3,180.74 2 38 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.74,182.12 2 21 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.3,186.12 2 17 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:186.12,188.4 1 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:189.3,190.48 2 16 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.48,192.12 2 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.18 2 15 -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 15 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:202.2,202.24 1 7 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:208.41,212.31 3 19 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:212.31,214.3 1 16 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:215.2,215.29 1 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:215.29,217.3 1 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:218.2,218.31 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:218.31,220.32 2 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.32,222.4 1 2 -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 19 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:231.102,233.36 2 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.36,235.136 2 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:235.136,237.5 1 20 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.4,240.34 3 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.34,242.5 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:246.2,246.65 1 15 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:246.65,247.53 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:247.53,249.37 2 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:249.37,251.137 2 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.137,253.6 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.5,256.35 3 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.35,258.6 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:262.2,262.19 1 13 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:266.80,267.22 1 19 -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 19 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.40,274.3 1 5 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,275.34 1 14 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.34,276.31 1 100 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:276.31,277.12 1 77 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:279.3,280.16 2 23 -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 23 -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 14 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:290.36,292.2 1 100 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.39,295.77 1 36 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:298.43,300.13 2 11 -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 11 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:304.11,306.3 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:307.2,308.14 2 9 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.14,310.3 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:311.2,312.19 2 7 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.56,318.89 2 20 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:318.89,320.3 1 5 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.2,321.14 1 15 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:325.52,326.32 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.32,328.28 2 3 -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 3 -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 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:334.42,336.4 1 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:337.3,337.49 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.2,342.27 3 1 -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 1 -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 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:351.49,353.24 2 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.24,355.4 1 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.2,359.25 2 1 -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 1 -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 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.67,372.35 2 13 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:372.35,374.3 1 11 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.2,376.31 2 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:376.31,378.3 1 7 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:379.2,379.14 1 2 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:382.69,383.32 1 11 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:383.32,385.3 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:386.2,386.47 1 7 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:389.45,391.22 2 56 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.22,395.12 3 58 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:395.12,397.4 1 36 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:398.3,400.32 3 22 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.32,402.4 1 7 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,404.46 2 15 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:404.46,406.12 2 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.3,410.12 2 11 -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 11 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.49,416.12 2 1 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,418.14 1 10 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:420.2,420.14 1 3 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.67,426.28 3 9 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:426.28,428.12 2 14 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.12,429.9 1 8 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.3,433.12 3 6 -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 6 -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 6 -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 6 -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 6 -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 6 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.50,456.4 1 4 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:457.3,458.22 2 6 -codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:460.2,460.14 1 9 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:22.55,24.32 2 17 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:24.32,26.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:27.2,27.13 1 17 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:31.41,36.2 4 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:38.41,43.2 4 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:45.32,48.23 3 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:48.23,50.3 1 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:51.2,52.24 2 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:52.24,54.3 1 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:55.2,58.15 4 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:58.15,60.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:61.2,66.27 5 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:66.27,68.6 1 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:72.51,73.41 1 13 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:73.41,75.3 1 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:76.2,78.71 3 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:82.62,82.105 1 33 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:84.118,85.14 1 17 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:85.14,88.16 3 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:88.16,91.35 3 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:91.35,93.5 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.4,94.36 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:94.36,96.5 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:97.4,99.59 3 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:99.59,101.5 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:102.4,102.21 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:105.2,108.19 4 14 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:111.51,112.23 1 24 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:112.23,114.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.2,115.13 1 24 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:115.13,117.100 2 49 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:117.100,119.12 2 31 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:121.3,121.8 1 18 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:123.2,123.11 1 24 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:126.32,128.2 1 26 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:131.44,132.50 1 21 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:132.50,134.3 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:135.2,135.35 1 17 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:138.40,140.20 2 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:140.20,141.40 1 14 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:141.40,143.12 2 10 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:145.3,145.8 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.2,147.12 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:147.12,149.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:150.2,150.17 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:153.52,154.38 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:154.38,156.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:157.2,158.27 2 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:158.27,159.34 1 10 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:159.34,160.12 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.3,162.36 1 9 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:162.36,163.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:165.3,165.25 1 9 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:167.2,167.34 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:175.64,177.22 2 50 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:177.22,180.12 2 65 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:180.12,182.4 1 27 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:183.3,185.74 2 38 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:185.74,187.12 2 21 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:190.3,191.12 2 17 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:191.12,193.4 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:194.3,195.48 2 16 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:195.48,197.12 2 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:199.3,200.18 2 15 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:200.18,202.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:204.3,205.29 2 15 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:207.2,207.24 1 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:213.41,217.31 3 19 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:217.31,219.3 1 16 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.2,220.29 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:220.29,222.3 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.2,223.31 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:223.31,225.32 2 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:225.32,227.4 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:229.2,229.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:233.83,236.102 2 19 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:236.102,238.36 2 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:238.36,240.136 2 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:240.136,242.5 1 20 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:243.4,245.34 3 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:245.34,247.5 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.2,251.65 1 15 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:251.65,252.53 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:252.53,254.37 2 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:254.37,256.137 2 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:256.137,258.6 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:259.5,261.35 3 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:261.35,263.6 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:267.2,267.19 1 13 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:271.80,272.22 1 19 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:272.22,274.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:275.2,277.40 3 19 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:277.40,279.3 1 5 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.2,280.34 1 14 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:280.34,281.31 1 100 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:281.31,282.12 1 77 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:284.3,285.16 2 23 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:285.16,286.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.3,288.32 1 23 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:288.32,290.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:292.2,292.19 1 14 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:295.36,297.2 1 100 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:300.39,300.77 1 36 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:303.43,305.13 2 11 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:305.13,307.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:308.2,309.11 2 11 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:309.11,311.3 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:312.2,313.14 2 9 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:313.14,315.3 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:316.2,317.19 2 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:321.56,323.89 2 20 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:323.89,325.3 1 5 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:326.2,326.14 1 15 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:330.52,331.32 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:331.32,333.28 2 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:333.28,335.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.3,336.34 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:336.34,338.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.3,339.42 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:339.42,341.4 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:342.3,342.49 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:344.2,347.27 3 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:347.27,349.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.2,350.36 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:350.36,352.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:353.2,356.49 3 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:356.49,358.24 2 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:358.24,360.4 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:363.2,364.25 2 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:364.25,366.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.2,367.33 1 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:367.33,369.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:370.2,371.19 2 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:375.67,377.35 2 13 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:377.35,379.3 1 11 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:380.2,381.31 2 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:381.31,383.3 1 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:384.2,384.14 1 2 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:387.69,388.32 1 11 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:388.32,390.3 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:391.2,391.47 1 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:394.45,396.22 2 56 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:396.22,400.12 3 58 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:400.12,402.4 1 36 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:403.3,405.32 3 22 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:405.32,407.4 1 7 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:408.3,409.46 2 15 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:409.46,411.12 2 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:414.3,415.12 2 11 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:415.12,417.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:418.3,419.49 2 11 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:419.49,421.12 2 1 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:423.3,423.14 1 10 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:425.2,425.14 1 3 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:428.67,431.28 3 9 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:431.28,433.12 2 14 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:433.12,434.9 1 8 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:436.3,438.12 3 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:438.12,439.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.3,441.43 1 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:441.43,443.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.3,445.34 1 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:445.34,447.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:449.3,450.48 2 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:450.48,452.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.3,454.25 1 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:454.25,456.12 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:458.3,459.50 2 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:459.50,461.4 1 4 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:462.3,463.22 2 6 +codeberg.org/snonux/hexai/internal/lsp/handlers_utils.go:465.2,465.14 1 9 codeberg.org/snonux/hexai/internal/lsp/server.go:130.90,133.20 3 6 codeberg.org/snonux/hexai/internal/lsp/server.go:133.20,135.3 1 6 codeberg.org/snonux/hexai/internal/lsp/server.go:136.2,138.23 3 6 @@ -24798,9 +24929,18 @@ 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/status.go:10.21,12.16 2 7 +codeberg.org/snonux/hexai/internal/tmux/status.go:12.16,12.31 1 7 +codeberg.org/snonux/hexai/internal/tmux/status.go:13.5,14.62 2 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:18.45,19.51 1 7 +codeberg.org/snonux/hexai/internal/tmux/status.go:19.51,19.65 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:20.5,21.16 2 7 +codeberg.org/snonux/hexai/internal/tmux/status.go:21.16,21.30 1 0 +codeberg.org/snonux/hexai/internal/tmux/status.go:23.5,23.72 1 7 +codeberg.org/snonux/hexai/internal/tmux/status.go:27.36,27.83 1 7 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:17.23,17.72 2 7 +codeberg.org/snonux/hexai/internal/tmux/tmux.go:20.23,20.76 1 7 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 diff --git a/docs/helix-tmux-quickstart.md b/docs/helix-tmux-quickstart.md deleted file mode 100644 index caee3f8..0000000 --- a/docs/helix-tmux-quickstart.md +++ /dev/null @@ -1,68 +0,0 @@ -# Helix + tmux Quickstart - -This guide gets you from zero to editing with Hexai in Helix, with tmux showing live LLM status. - -## 1) Install - -- Install Mage (optional for build tasks): `go install github.com/magefile/mage@latest` -- Install binaries directly: - - CLI: `go install codeberg.org/snonux/hexai/cmd/hexai@latest` - - LSP: `go install codeberg.org/snonux/hexai/cmd/hexai-lsp@latest` - - TUI: `go install codeberg.org/snonux/hexai/cmd/hexai-tmux-action@latest` - -Ensure `~/go/bin` is on your `PATH`. - -## 2) Configure Helix - -In `~/.config/helix/languages.toml`: - -```toml -[[language]] -name = "go" -auto-format = true -language-servers = ["gopls", "hexai"] - -[language-server.hexai] -command = "hexai-lsp" -``` - -Optional keybindings in `~/.config/helix/config.toml` to run code actions on the selection: - -```toml -[keys.select] -"A-a" = ":pipe hexai-tmux-action" - -[keys.normal] -"A-a" = ["select_line", ":pipe hexai-tmux-action"] -``` - -## 3) Configure tmux status - -Add this to `~/.tmux.conf` and reload with `tmux source-file ~/.tmux.conf`: - -``` -set -g status-right '#{@hexai_status} #[fg=colour8]| %H:%M' -set -g status-right-length 120 - -# Optional: theme the Hexai status segment -set-environment -g HEXAI_TMUX_STATUS_THEME white-on-purple # or black-on-yellow, white-on-blue -# Or explicit colors -# set-environment -g HEXAI_TMUX_STATUS_FG white -# set-environment -g HEXAI_TMUX_STATUS_BG magenta -``` - -## 4) Use it - -- Start tmux, open Helix on a Go file. -- Try completions or inline prompts; or select code and press Alt-a for the action menu. -- Watch the right side of your tmux status for live LLM stats: - - Start heartbeat: provider:model ⏳ - - Stats: ↑sent ↓recv rpm reqs - -## 5) Troubleshooting - -- No status? Verify: `tmux show -g -v @hexai_status` (should show text). -- Truncated? Increase width: `set -g status-right-length 120`. -- Disabled? Ensure `HEXAI_TMUX_STATUS` is not set to `0`. -- Wrong model? Rebuild/update binaries and restart Helix/LSP. - diff --git a/docs/tmux.md b/docs/tmux.md new file mode 100644 index 0000000..769e0f0 --- /dev/null +++ b/docs/tmux.md @@ -0,0 +1,109 @@ +# Helix + tmux Quickstart + +This guide gets you from zero to editing with Hexai in Helix, with tmux showing live LLM status. + +## 1) Install + +- Install Mage (optional for build tasks): `go install github.com/magefile/mage@latest` +- Install binaries directly: + - CLI: `go install codeberg.org/snonux/hexai/cmd/hexai@latest` + - LSP: `go install codeberg.org/snonux/hexai/cmd/hexai-lsp@latest` + - TUI: `go install codeberg.org/snonux/hexai/cmd/hexai-tmux-action@latest` + +Ensure `~/go/bin` is on your `PATH`. + +## 2) Configure Helix + +In `~/.config/helix/languages.toml`: + +```toml +[[language]] +name = "go" +auto-format = true +language-servers = ["gopls", "hexai"] + +[language-server.hexai] +command = "hexai-lsp" +``` + +Optional keybindings in `~/.config/helix/config.toml` to run code actions on the selection: + +```toml +[keys.select] +"A-a" = ":pipe hexai-tmux-action" + +[keys.normal] +"A-a" = ["select_line", ":pipe hexai-tmux-action"] +``` + +## 3) Configure tmux status + +Hexai can surface live progress in tmux's status line via a user option. Add this to your `~/.tmux.conf`: + +``` +set -g status-right '#{@hexai_status} #[fg=colour8]| %H:%M' +``` + +- Note: `colour8` is typically “bright black” (a dim grey) in many themes. + If it’s low-contrast on your background, change it (e.g., `colour7` or `white`). + +- CLI updates `@hexai_status` at start (⏳ provider:model) and on completion with compact stats (↑sent, ↓recv, rpm, reqs). +- LSP emits an initial heartbeat on client initialize and periodic compact stats (provider, model, rpm, reqs, bytes). +- The TUI action runner sets a ready heartbeat and a completion heartbeat with stats. +- Toggle with `HEXAI_TMUX_STATUS=0` to disable (enabled by default). + +The status segment supports simple theming: + +- Preset themes: + - `HEXAI_TMUX_STATUS_THEME=white-on-purple` (white fg on purple/magenta bg) + - `HEXAI_TMUX_STATUS_THEME=black-on-yellow` (black fg on yellow bg) +- Explicit colors: set any tmux color names or 256-color codes + - `HEXAI_TMUX_STATUS_FG=white` + - `HEXAI_TMUX_STATUS_BG=magenta` (or `colour5`, etc.) +- If the segment is truncated, widen it: `set -g status-right-length 120` + +Add this to `~/.tmux.conf` and reload with `tmux source-file ~/.tmux.conf`: + +``` +set -g status-right '#{@hexai_status} #[fg=colour8]| %H:%M' +set -g status-right-length 120 + +# Optional: theme the Hexai status segment +set-environment -g HEXAI_TMUX_STATUS_THEME white-on-purple # or black-on-yellow, white-on-blue +# Or explicit colors +# set-environment -g HEXAI_TMUX_STATUS_FG white +# set-environment -g HEXAI_TMUX_STATUS_BG magenta +``` + +## 4) Use it + +- Start tmux, open Helix on a Go file. +- Try completions or inline prompts; or select code and press Alt-a for the action menu. +- Watch the right side of your tmux status for live LLM stats: + - Start heartbeat: provider:model ⏳ + - Stats: ↑sent ↓recv rpm reqs + +## 5) Troubleshooting + +- No status? Verify: `tmux show -g -v @hexai_status` (should show text). +- Truncated? Increase width: `set -g status-right-length 120`. +- Disabled? Ensure `HEXAI_TMUX_STATUS` is not set to `0`. +- Wrong model? Rebuild/update binaries and restart Helix/LSP. + +## 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-tmux-action` and replace it with the output. + - Example: `C-a = ":pipe hexai-tmux-action"` +- Default behavior: + - Inline TUI when run in a real terminal (TTY). + - When invoked via Helix `:pipe`, `hexai-tmux-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-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/internal/appconfig/config.go b/internal/appconfig/config.go index 87b5a29..2c4cee3 100644 --- a/internal/appconfig/config.go +++ b/internal/appconfig/config.go @@ -74,14 +74,14 @@ type App struct { // Code actions PromptCodeActionRewriteSystem string `json:"-" toml:"-"` PromptCodeActionDiagnosticsSystem string `json:"-" toml:"-"` - PromptCodeActionDocumentSystem string `json:"-" toml:"-"` - PromptCodeActionRewriteUser string `json:"-" toml:"-"` - PromptCodeActionDiagnosticsUser string `json:"-" toml:"-"` - PromptCodeActionDocumentUser string `json:"-" toml:"-"` - PromptCodeActionGoTestSystem string `json:"-" toml:"-"` - PromptCodeActionGoTestUser string `json:"-" toml:"-"` - PromptCodeActionSimplifySystem string `json:"-" toml:"-"` - PromptCodeActionSimplifyUser string `json:"-" toml:"-"` + PromptCodeActionDocumentSystem string `json:"-" toml:"-"` + PromptCodeActionRewriteUser string `json:"-" toml:"-"` + PromptCodeActionDiagnosticsUser string `json:"-" toml:"-"` + PromptCodeActionDocumentUser string `json:"-" toml:"-"` + PromptCodeActionGoTestSystem string `json:"-" toml:"-"` + PromptCodeActionGoTestUser string `json:"-" toml:"-"` + PromptCodeActionSimplifySystem string `json:"-" toml:"-"` + PromptCodeActionSimplifyUser string `json:"-" toml:"-"` // CLI PromptCLIDefaultSystem string `json:"-" toml:"-"` PromptCLIExplainSystem string `json:"-" toml:"-"` @@ -129,10 +129,10 @@ func newDefaultConfig() App { PromptCodeActionRewriteUser: "Instruction: {{instruction}}\n\nSelected code to transform:\n{{selection}}", PromptCodeActionDiagnosticsUser: "Diagnostics to resolve (selection only):\n{{diagnostics}}\n\nSelected code:\n{{selection}}", PromptCodeActionDocumentUser: "Add documentation comments to this code:\n{{selection}}", - PromptCodeActionGoTestSystem: "You are a precise Go unit test generator. Given a Go function, write one or more Test* functions using the testing package. Do NOT include package or imports, only the test function(s). Prefer table-driven tests. Keep it minimal and idiomatic.", - PromptCodeActionGoTestUser: "Function under test:\n{{function}}", - PromptCodeActionSimplifySystem: "You are a precise code improvement engine. Simplify and improve the given code while preserving behavior. Return only the improved code with no prose or backticks.", - PromptCodeActionSimplifyUser: "Improve this code:\n{{selection}}", + PromptCodeActionGoTestSystem: "You are a precise Go unit test generator. Given a Go function, write one or more Test* functions using the testing package. Do NOT include package or imports, only the test function(s). Prefer table-driven tests. Keep it minimal and idiomatic.", + PromptCodeActionGoTestUser: "Function under test:\n{{function}}", + PromptCodeActionSimplifySystem: "You are a precise code improvement engine. Simplify and improve the given code while preserving behavior. Return only the improved code with no prose or backticks.", + PromptCodeActionSimplifyUser: "Improve this code:\n{{selection}}", PromptCLIDefaultSystem: "You are Hexai CLI. Default to very short, concise answers. If the user asks for commands, output only the commands (one per line) with no commentary or explanation. Only when the word 'explain' appears in the prompt, produce a verbose explanation.", PromptCLIExplainSystem: "You are Hexai CLI. The user requested an explanation. Provide a clear, verbose explanation with reasoning and details. If commands are needed, include them with brief context.", @@ -260,16 +260,16 @@ type sectionPromptsChat struct { } type sectionPromptsCodeAction struct { - RewriteSystem string `toml:"rewrite_system"` - DiagnosticsSystem string `toml:"diagnostics_system"` - DocumentSystem string `toml:"document_system"` - RewriteUser string `toml:"rewrite_user"` - DiagnosticsUser string `toml:"diagnostics_user"` - DocumentUser string `toml:"document_user"` - GoTestSystem string `toml:"go_test_system"` - GoTestUser string `toml:"go_test_user"` - SimplifySystem string `toml:"simplify_system"` - SimplifyUser string `toml:"simplify_user"` + RewriteSystem string `toml:"rewrite_system"` + DiagnosticsSystem string `toml:"diagnostics_system"` + DocumentSystem string `toml:"document_system"` + RewriteUser string `toml:"rewrite_user"` + DiagnosticsUser string `toml:"diagnostics_user"` + DocumentUser string `toml:"document_user"` + GoTestSystem string `toml:"go_test_system"` + GoTestUser string `toml:"go_test_user"` + SimplifySystem string `toml:"simplify_system"` + SimplifyUser string `toml:"simplify_user"` } type sectionPromptsCLI struct { @@ -393,7 +393,7 @@ func (fc *fileConfig) toApp() App { out.PromptChatSystem = fc.Prompts.Chat.System } // code action - if (fc.Prompts.CodeAction != sectionPromptsCodeAction{}) { + if (fc.Prompts.CodeAction != sectionPromptsCodeAction{}) { if strings.TrimSpace(fc.Prompts.CodeAction.RewriteSystem) != "" { out.PromptCodeActionRewriteSystem = fc.Prompts.CodeAction.RewriteSystem } @@ -415,16 +415,16 @@ func (fc *fileConfig) toApp() App { if strings.TrimSpace(fc.Prompts.CodeAction.GoTestSystem) != "" { out.PromptCodeActionGoTestSystem = fc.Prompts.CodeAction.GoTestSystem } - if strings.TrimSpace(fc.Prompts.CodeAction.GoTestUser) != "" { - out.PromptCodeActionGoTestUser = fc.Prompts.CodeAction.GoTestUser - } - if strings.TrimSpace(fc.Prompts.CodeAction.SimplifySystem) != "" { - out.PromptCodeActionSimplifySystem = fc.Prompts.CodeAction.SimplifySystem - } - if strings.TrimSpace(fc.Prompts.CodeAction.SimplifyUser) != "" { - out.PromptCodeActionSimplifyUser = fc.Prompts.CodeAction.SimplifyUser - } - } + if strings.TrimSpace(fc.Prompts.CodeAction.GoTestUser) != "" { + out.PromptCodeActionGoTestUser = fc.Prompts.CodeAction.GoTestUser + } + if strings.TrimSpace(fc.Prompts.CodeAction.SimplifySystem) != "" { + out.PromptCodeActionSimplifySystem = fc.Prompts.CodeAction.SimplifySystem + } + if strings.TrimSpace(fc.Prompts.CodeAction.SimplifyUser) != "" { + out.PromptCodeActionSimplifyUser = fc.Prompts.CodeAction.SimplifyUser + } + } // cli if (fc.Prompts.CLI != sectionPromptsCLI{}) { if strings.TrimSpace(fc.Prompts.CLI.DefaultSystem) != "" { @@ -623,15 +623,15 @@ func (a *App) mergePrompts(other *App) { if strings.TrimSpace(other.PromptCodeActionGoTestSystem) != "" { a.PromptCodeActionGoTestSystem = other.PromptCodeActionGoTestSystem } - if strings.TrimSpace(other.PromptCodeActionGoTestUser) != "" { - a.PromptCodeActionGoTestUser = other.PromptCodeActionGoTestUser - } - if strings.TrimSpace(other.PromptCodeActionSimplifySystem) != "" { - a.PromptCodeActionSimplifySystem = other.PromptCodeActionSimplifySystem - } - if strings.TrimSpace(other.PromptCodeActionSimplifyUser) != "" { - a.PromptCodeActionSimplifyUser = other.PromptCodeActionSimplifyUser - } + if strings.TrimSpace(other.PromptCodeActionGoTestUser) != "" { + a.PromptCodeActionGoTestUser = other.PromptCodeActionGoTestUser + } + if strings.TrimSpace(other.PromptCodeActionSimplifySystem) != "" { + a.PromptCodeActionSimplifySystem = other.PromptCodeActionSimplifySystem + } + if strings.TrimSpace(other.PromptCodeActionSimplifyUser) != "" { + a.PromptCodeActionSimplifyUser = other.PromptCodeActionSimplifyUser + } // CLI if strings.TrimSpace(other.PromptCLIDefaultSystem) != "" { a.PromptCLIDefaultSystem = other.PromptCLIDefaultSystem diff --git a/internal/appconfig/config_test.go b/internal/appconfig/config_test.go index 5cb79a0..dc8c39c 100644 --- a/internal/appconfig/config_test.go +++ b/internal/appconfig/config_test.go @@ -25,15 +25,15 @@ 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], "") - } - } - } + 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) { @@ -54,10 +54,10 @@ func TestLoad_Defaults_NoLogger(t *testing.T) { } func TestLoad_Defaults_WithLogger_NoFile_NoEnv(t *testing.T) { - clearHexaiEnv(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) @@ -207,9 +207,9 @@ func TestLoadFromFile_InvalidTOML(t *testing.T) { } func TestLoad_FileTables_Sectioned(t *testing.T) { - clearHexaiEnv(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] @@ -290,9 +290,9 @@ temperature = 0.0 } func TestLoad_FileTables_Prompts_AllSections(t *testing.T) { - clearHexaiEnv(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/editor/editor.go b/internal/editor/editor.go index 44aa1d4..a1af1be 100644 --- a/internal/editor/editor.go +++ b/internal/editor/editor.go @@ -1,70 +1,70 @@ package editor import ( - "errors" - "os" - "os/exec" - "path/filepath" - "strings" + "errors" + "os" + "os/exec" + "path/filepath" + "strings" ) // Resolve returns the editor command from HEXAI_EDITOR or EDITOR. func Resolve() (string, error) { - ed := strings.TrimSpace(os.Getenv("HEXAI_EDITOR")) - if ed == "" { - ed = strings.TrimSpace(os.Getenv("EDITOR")) - } - if ed == "" { - return "", errors.New("no editor configured (set HEXAI_EDITOR or EDITOR)") - } - return ed, nil + ed := strings.TrimSpace(os.Getenv("HEXAI_EDITOR")) + if ed == "" { + ed = strings.TrimSpace(os.Getenv("EDITOR")) + } + if ed == "" { + return "", errors.New("no editor configured (set HEXAI_EDITOR or EDITOR)") + } + return ed, nil } // RunEditor is the seam that invokes the editor on the given file path. // Override in tests to avoid launching a real editor. var RunEditor = func(editor, path string) error { - cmd := exec.Command(editor, path) - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - return cmd.Run() + cmd := exec.Command(editor, path) + cmd.Stdin = os.Stdin + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + return cmd.Run() } // OpenTempAndEdit creates a temporary .md file, writes initial content if provided, // opens it in the resolved editor, then reads the final content and removes the file. // Returns the trimmed content. func OpenTempAndEdit(initial []byte) (string, error) { - ed, err := Resolve() - if err != nil { - return "", err - } - // Create temp file under system temp dir; ensure .md suffix - dir := os.TempDir() - f, err := os.CreateTemp(dir, "hexai-*.md") - if err != nil { - return "", err - } - path := f.Name() - defer func() { _ = os.Remove(path) }() - if len(initial) > 0 { - if _, err := f.Write(initial); err != nil { - _ = f.Close() - return "", err - } - } - if err := f.Sync(); err != nil { - _ = f.Close() - return "", err - } - if err := f.Close(); err != nil { - return "", err - } - if err := RunEditor(ed, path); err != nil { - return "", err - } - b, err := os.ReadFile(filepath.Clean(path)) - if err != nil { - return "", err - } - return strings.TrimSpace(string(b)), nil + ed, err := Resolve() + if err != nil { + return "", err + } + // Create temp file under system temp dir; ensure .md suffix + dir := os.TempDir() + f, err := os.CreateTemp(dir, "hexai-*.md") + if err != nil { + return "", err + } + path := f.Name() + defer func() { _ = os.Remove(path) }() + if len(initial) > 0 { + if _, err := f.Write(initial); err != nil { + _ = f.Close() + return "", err + } + } + if err := f.Sync(); err != nil { + _ = f.Close() + return "", err + } + if err := f.Close(); err != nil { + return "", err + } + if err := RunEditor(ed, path); err != nil { + return "", err + } + b, err := os.ReadFile(filepath.Clean(path)) + if err != nil { + return "", err + } + return strings.TrimSpace(string(b)), nil } diff --git a/internal/editor/editor_test.go b/internal/editor/editor_test.go index df6dec7..06cc165 100644 --- a/internal/editor/editor_test.go +++ b/internal/editor/editor_test.go @@ -1,39 +1,44 @@ package editor import ( - "os" - "path/filepath" - "testing" + "os" + "path/filepath" + "testing" ) func TestResolve_EnvPriority(t *testing.T) { - t.Setenv("HEXAI_EDITOR", "ed1") - t.Setenv("EDITOR", "ed2") - ed, err := Resolve() - if err != nil || ed != "ed1" { - t.Fatalf("Resolve failed: %v %q", err, ed) - } - t.Setenv("HEXAI_EDITOR", "") - ed, err = Resolve() - if err != nil || ed != "ed2" { - t.Fatalf("Resolve fallback failed: %v %q", err, ed) - } + t.Setenv("HEXAI_EDITOR", "ed1") + t.Setenv("EDITOR", "ed2") + ed, err := Resolve() + if err != nil || ed != "ed1" { + t.Fatalf("Resolve failed: %v %q", err, ed) + } + t.Setenv("HEXAI_EDITOR", "") + ed, err = Resolve() + if err != nil || ed != "ed2" { + t.Fatalf("Resolve fallback failed: %v %q", err, ed) + } } func TestOpenTempAndEdit_UsesRunEditor(t *testing.T) { - old := RunEditor - t.Cleanup(func(){ RunEditor = old }) - // Ensure Resolve() succeeds - t.Setenv("HEXAI_EDITOR", "dummy") - var capturedPath string - RunEditor = func(editor, path string) error { - capturedPath = path - // simulate user writing content - return os.WriteFile(path, []byte("Hello\nWorld\n"), 0o600) - } - out, err := OpenTempAndEdit([]byte("# Start\n\n")) - if err != nil { t.Fatalf("OpenTempAndEdit: %v", err) } - if out != "Hello\nWorld" { t.Fatalf("unexpected content: %q", out) } - if filepath.Ext(capturedPath) != ".md" { t.Fatalf("expected .md suffix: %s", capturedPath) } + old := RunEditor + t.Cleanup(func() { RunEditor = old }) + // Ensure Resolve() succeeds + t.Setenv("HEXAI_EDITOR", "dummy") + var capturedPath string + RunEditor = func(editor, path string) error { + capturedPath = path + // simulate user writing content + return os.WriteFile(path, []byte("Hello\nWorld\n"), 0o600) + } + out, err := OpenTempAndEdit([]byte("# Start\n\n")) + if err != nil { + t.Fatalf("OpenTempAndEdit: %v", err) + } + if out != "Hello\nWorld" { + t.Fatalf("unexpected content: %q", out) + } + if filepath.Ext(capturedPath) != ".md" { + t.Fatalf("expected .md suffix: %s", capturedPath) + } } - diff --git a/internal/hexaiaction/cmdentry.go b/internal/hexaiaction/cmdentry.go index cf72495..ca33443 100644 --- a/internal/hexaiaction/cmdentry.go +++ b/internal/hexaiaction/cmdentry.go @@ -1,149 +1,183 @@ package hexaiaction import ( - "context" - "fmt" - "io" - "os" - "path/filepath" - "time" + "context" + "fmt" + "io" + "os" + "path/filepath" + "time" - "codeberg.org/snonux/hexai/internal/tmux" - "golang.org/x/term" + "codeberg.org/snonux/hexai/internal/tmux" + "golang.org/x/term" ) // Options configures the command-line orchestration for hexai-tmux-action. type Options struct { - Infile string - Outfile string - UIChild bool - TmuxTarget string - TmuxSplit string // "v" or "h" - TmuxPercent int // 1-100 + Infile string + Outfile string + UIChild bool + TmuxTarget string + TmuxSplit string // "v" or "h" + TmuxPercent int // 1-100 } // RunCommand is the CLI orchestrator used by cmd/hexai-tmux-action. It runs in tmux // split-pane mode by default, or child mode when -ui-child is set. func RunCommand(ctx context.Context, opts Options, stdin io.Reader, stdout, stderr io.Writer) error { - if opts.UIChild { - return runChild(ctx, opts.Infile, opts.Outfile, stdout, stderr) - } - // Always use tmux path - return runInTmuxParent(stdin, stdout, opts.TmuxTarget, opts.TmuxSplit, opts.TmuxPercent) + if opts.UIChild { + return runChild(ctx, opts.Infile, opts.Outfile, stdout, stderr) + } + // Always use tmux path + return runInTmuxParent(stdin, stdout, opts.TmuxTarget, opts.TmuxSplit, opts.TmuxPercent) } // seams for unit tests -var isTTYFn = func(fd uintptr) bool { return term.IsTerminal(int(fd)) } -var splitRunFn = tmux.SplitRun -var osExecutableFn = os.Executable -var runFn = Run +var ( + isTTYFn = func(fd uintptr) bool { return term.IsTerminal(int(fd)) } + splitRunFn = tmux.SplitRun + osExecutableFn = os.Executable + runFn = Run +) // openIO returns readers/writers for infile/outfile flags with deferred closers. func openIO(infile, outfile string) (io.Reader, io.Writer, func(), func(), error) { - in := io.Reader(os.Stdin) - out := io.Writer(os.Stdout) - closeIn := func() {} - closeOut := func() {} - if path := infile; path != "" { - f, err := os.Open(path) - if err != nil { return nil, nil, func(){}, func(){}, fmt.Errorf("hexai-tmux-action: cannot open infile: %w", err) } - in = f - closeIn = func() { _ = f.Close() } - } - if path := outfile; path != "" { - f, err := os.Create(path) - if err != nil { return nil, nil, func(){}, func(){}, fmt.Errorf("hexai-tmux-action: cannot open outfile: %w", err) } - out = f - closeOut = func() { _ = f.Close() } - } - return in, out, closeIn, closeOut, nil + in := io.Reader(os.Stdin) + out := io.Writer(os.Stdout) + closeIn := func() {} + closeOut := func() {} + if path := infile; path != "" { + f, err := os.Open(path) + if err != nil { + return nil, nil, func() {}, func() {}, fmt.Errorf("hexai-tmux-action: cannot open infile: %w", err) + } + in = f + closeIn = func() { _ = f.Close() } + } + if path := outfile; path != "" { + f, err := os.Create(path) + if err != nil { + return nil, nil, func() {}, func() {}, fmt.Errorf("hexai-tmux-action: cannot open outfile: %w", err) + } + out = f + closeOut = func() { _ = f.Close() } + } + return in, out, closeIn, closeOut, nil } // runChild runs the interactive flow and writes the final output atomically when outfile is set. func runChild(ctx context.Context, infile, outfile string, stdout, stderr io.Writer) error { - if outfile == "" { - // No atomic handoff needed; just run normally to provided stdout - var in io.Reader = os.Stdin - if infile != "" { - f, err := os.Open(infile) - if err != nil { return err } - defer func(){ _ = f.Close() }() - in = f - } - return runFn(ctx, in, stdout, stderr) - } - tmp := outfile + ".tmp" - in, out, closeIn, closeOut, err := openIO(infile, tmp) - if err != nil { return err } - defer closeIn() - if err := runFn(ctx, in, out, stderr); err != nil { - closeOut() - if copyErr := echoThrough(infile, tmp, os.Stdin, stdout); copyErr != nil { - return fmt.Errorf("hexai-tmux-action child: %v; echo failed: %v", err, copyErr) - } - } else { - closeOut() - } - return os.Rename(tmp, outfile) + if outfile == "" { + // No atomic handoff needed; just run normally to provided stdout + var in io.Reader = os.Stdin + if infile != "" { + f, err := os.Open(infile) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + in = f + } + return runFn(ctx, in, stdout, stderr) + } + tmp := outfile + ".tmp" + in, out, closeIn, closeOut, err := openIO(infile, tmp) + if err != nil { + return err + } + defer closeIn() + if err := runFn(ctx, in, out, stderr); err != nil { + closeOut() + if copyErr := echoThrough(infile, tmp, os.Stdin, stdout); copyErr != nil { + return fmt.Errorf("hexai-tmux-action child: %v; echo failed: %v", err, copyErr) + } + } else { + closeOut() + } + return os.Rename(tmp, outfile) } func runInTmuxParent(stdin io.Reader, stdout io.Writer, target, split string, percent int) error { - dir, err := os.MkdirTemp("", "hexai-tmux-action-") - if err != nil { return err } - defer func() { _ = os.RemoveAll(dir) }() - inPath := filepath.Join(dir, "input.txt") - outPath := filepath.Join(dir, "reply.txt") - if err := persistStdin(inPath, stdin); err != nil { return err } - exe, err := osExecutableFn() - if err != nil { return err } - argv := []string{exe, "-ui-child", "-infile", inPath, "-outfile", outPath} - opts := tmux.SplitOpts{Target: target, Vertical: split != "h", Percent: percent} - if err := splitRunFn(opts, argv); err != nil { return err } - if err := waitForFile(outPath, 60*time.Second); err != nil { return err } - return catFileTo(stdout, outPath) + dir, err := os.MkdirTemp("", "hexai-tmux-action-") + if err != nil { + return err + } + defer func() { _ = os.RemoveAll(dir) }() + inPath := filepath.Join(dir, "input.txt") + outPath := filepath.Join(dir, "reply.txt") + if err := persistStdin(inPath, stdin); err != nil { + return err + } + exe, err := osExecutableFn() + if err != nil { + return err + } + argv := []string{exe, "-ui-child", "-infile", inPath, "-outfile", outPath} + opts := tmux.SplitOpts{Target: target, Vertical: split != "h", Percent: percent} + if err := splitRunFn(opts, argv); err != nil { + return err + } + if err := waitForFile(outPath, 60*time.Second); err != nil { + return err + } + return catFileTo(stdout, outPath) } func persistStdin(path string, stdin io.Reader) error { - f, err := os.Create(path) - if err != nil { return err } - defer func() { _ = f.Close() }() - if _, err := io.Copy(f, stdin); err != nil { return err } - return f.Sync() + f, err := os.Create(path) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + if _, err := io.Copy(f, 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-tmux-action: timeout waiting for reply file") } - time.Sleep(200 * time.Millisecond) - } + deadline := time.Now().Add(timeout) + for { + if _, err := os.Stat(path); err == nil { + return nil + } + if time.Now().After(deadline) { + return fmt.Errorf("hexai-tmux-action: timeout waiting for reply file") + } + time.Sleep(200 * time.Millisecond) + } } func catFileTo(w io.Writer, path string) error { - f, err := os.Open(path) - if err != nil { return err } - defer func() { _ = f.Close() }() - _, err = io.Copy(w, f) - return err + f, err := os.Open(path) + if err != nil { + return err + } + defer func() { _ = f.Close() }() + _, err = io.Copy(w, f) + return err } // echoThrough no longer used in tmux-only flow, but kept for potential reuse. func echoThrough(infile, outfile string, stdin io.Reader, stdout io.Writer) error { - var in io.Reader = stdin - var out io.Writer = 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 + var in io.Reader = stdin + var out io.Writer = 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/internal/hexaiaction/cmdentry_runcommand_test.go b/internal/hexaiaction/cmdentry_runcommand_test.go index 092e43b..b139bb3 100644 --- a/internal/hexaiaction/cmdentry_runcommand_test.go +++ b/internal/hexaiaction/cmdentry_runcommand_test.go @@ -1,53 +1,60 @@ package hexaiaction import ( - "bytes" - "context" - "io" - "os" - "path/filepath" - "testing" + "bytes" + "context" + "io" + "os" + "path/filepath" + "testing" - "codeberg.org/snonux/hexai/internal/tmux" + "codeberg.org/snonux/hexai/internal/tmux" ) func TestRunCommand_UIChild(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 := runFn - runFn = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { _, _ = io.WriteString(w, "OK"); return nil } - t.Cleanup(func(){ runFn = old }) - opts := Options{Infile: in, Outfile: out, UIChild: true} - if err := RunCommand(context.Background(), opts, bytes.NewBuffer(nil), io.Discard, io.Discard); err != nil { - t.Fatalf("RunCommand UIChild: %v", err) - } - b, _ := os.ReadFile(out) - if string(b) != "OK" { t.Fatalf("outfile: %q", string(b)) } + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + out := filepath.Join(dir, "out.txt") + _ = os.WriteFile(in, []byte("sel"), 0o600) + old := runFn + runFn = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { + _, _ = io.WriteString(w, "OK") + return nil + } + t.Cleanup(func() { runFn = old }) + opts := Options{Infile: in, Outfile: out, UIChild: true} + if err := RunCommand(context.Background(), opts, bytes.NewBuffer(nil), io.Discard, io.Discard); err != nil { + t.Fatalf("RunCommand UIChild: %v", err) + } + b, _ := os.ReadFile(out) + if string(b) != "OK" { + t.Fatalf("outfile: %q", string(b)) + } } func TestRunCommand_Tmux(t *testing.T) { - oldTTY := isTTYFn - oldExec := osExecutableFn - oldSplit := splitRunFn - isTTYFn = func(_ uintptr) bool { return false } - osExecutableFn = func() (string, error) { return "/bin/hexai-tmux-action", nil } - splitRunFn = func(_ tmux.SplitOpts, argv []string) error { - for i := 0; i < len(argv)-1; i++ { - if argv[i] == "-outfile" && i+1 < len(argv) { - _ = os.WriteFile(argv[i+1], []byte("OUT"), 0o600) - break - } - } - return nil - } - defer func(){ isTTYFn = oldTTY; osExecutableFn = oldExec; splitRunFn = oldSplit }() - var out bytes.Buffer - if err := RunCommand(context.Background(), Options{}, bytes.NewBufferString("X"), &out, io.Discard); err != nil { - t.Fatalf("RunCommand tmux: %v", err) - } - if out.String() != "OUT" { t.Fatalf("stdout: %q", out.String()) } + oldTTY := isTTYFn + oldExec := osExecutableFn + oldSplit := splitRunFn + isTTYFn = func(_ uintptr) bool { return false } + osExecutableFn = func() (string, error) { return "/bin/hexai-tmux-action", nil } + splitRunFn = func(_ tmux.SplitOpts, argv []string) error { + for i := 0; i < len(argv)-1; i++ { + if argv[i] == "-outfile" && i+1 < len(argv) { + _ = os.WriteFile(argv[i+1], []byte("OUT"), 0o600) + break + } + } + return nil + } + defer func() { isTTYFn = oldTTY; osExecutableFn = oldExec; splitRunFn = oldSplit }() + var out bytes.Buffer + if err := RunCommand(context.Background(), Options{}, bytes.NewBufferString("X"), &out, io.Discard); err != nil { + t.Fatalf("RunCommand tmux: %v", err) + } + if out.String() != "OUT" { + t.Fatalf("stdout: %q", out.String()) + } } // Inline TTY path is exercised implicitly via other helpers; testing it directly diff --git a/internal/hexaiaction/cmdentry_test.go b/internal/hexaiaction/cmdentry_test.go index de8b5dd..9c896f6 100644 --- a/internal/hexaiaction/cmdentry_test.go +++ b/internal/hexaiaction/cmdentry_test.go @@ -1,135 +1,183 @@ package hexaiaction import ( - "context" - "fmt" - "io" - "os" - "path/filepath" - "strings" - "testing" - "time" + "context" + "fmt" + "io" + "os" + "path/filepath" + "strings" + "testing" + "time" - "codeberg.org/snonux/hexai/internal/tmux" + "codeberg.org/snonux/hexai/internal/tmux" ) // tmux-only flow: decision helpers removed. func TestPersistStdin_WritesFile(t *testing.T) { - dir := t.TempDir() - path := filepath.Join(dir, "in.txt") - // Point stdin to 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, _ := os.Open(src) - defer f.Close() - if err := persistStdin(path, f); err != nil { t.Fatalf("persistStdin: %v", err) } - b, _ := os.ReadFile(path) - if string(b) != "hello world" { t.Fatalf("unexpected content %q", string(b)) } + dir := t.TempDir() + path := filepath.Join(dir, "in.txt") + // Point stdin to 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, _ := os.Open(src) + defer f.Close() + if err := persistStdin(path, f); err != nil { + t.Fatalf("persistStdin: %v", err) + } + b, _ := os.ReadFile(path) + 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") - _ = os.WriteFile(in, []byte("hello"), 0o600) - if err := echoThrough(in, out, os.Stdin, os.Stdout); err != nil { t.Fatalf("echoThrough: %v", err) } - b, _ := os.ReadFile(out) - if string(b) != "hello" { t.Fatalf("unexpected: %q", string(b)) } + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + out := filepath.Join(dir, "out.txt") + _ = os.WriteFile(in, []byte("hello"), 0o600) + if err := echoThrough(in, out, os.Stdin, os.Stdout); 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() - // capture stdout - r, w, _ := os.Pipe() - if err := echoThrough("", "", rIn, w); err != nil { t.Fatalf("echoThrough: %v", err) } - _ = w.Close() - data, _ := io.ReadAll(r) - if string(data) != "PIPE" { t.Fatalf("stdout: %q", string(data)) } + // set stdin + rIn, wIn, _ := os.Pipe() + _, _ = wIn.Write([]byte("PIPE")) + _ = wIn.Close() + // capture stdout + r, w, _ := os.Pipe() + if err := echoThrough("", "", rIn, w); err != nil { + t.Fatalf("echoThrough: %v", err) + } + _ = w.Close() + data, _ := io.ReadAll(r) + if string(data) != "PIPE" { + t.Fatalf("stdout: %q", string(data)) + } } func TestRunInTmuxParent_Stubbed(t *testing.T) { - dir := t.TempDir() - // set stdin content - r, w, _ := os.Pipe() - _, _ = w.Write([]byte("input")) - _ = w.Close() - // capture stdout - rout, wout, _ := os.Pipe() - oldExec := osExecutableFn - oldSplit := splitRunFn - osExecutableFn = func() (string, error) { return "/bin/hexai-tmux-action", nil } - splitRunFn = func(opts tmux.SplitOpts, argv []string) error { - 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 - } - t.Cleanup(func() { osExecutableFn = oldExec; splitRunFn = oldSplit }) - if err := runInTmuxParent(r, wout, "", "v", 33); err != nil { t.Fatalf("runInTmuxParent: %v", err) } - _ = wout.Close() - got, _ := io.ReadAll(rout) - if !strings.HasPrefix(string(got), "OUT:") { t.Fatalf("unexpected stdout: %q", string(got)) } - _ = dir + dir := t.TempDir() + // set stdin content + r, w, _ := os.Pipe() + _, _ = w.Write([]byte("input")) + _ = w.Close() + // capture stdout + rout, wout, _ := os.Pipe() + oldExec := osExecutableFn + oldSplit := splitRunFn + osExecutableFn = func() (string, error) { return "/bin/hexai-tmux-action", nil } + splitRunFn = func(opts tmux.SplitOpts, argv []string) error { + 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 + } + t.Cleanup(func() { osExecutableFn = oldExec; splitRunFn = oldSplit }) + if err := runInTmuxParent(r, wout, "", "v", 33); err != nil { + t.Fatalf("runInTmuxParent: %v", err) + } + _ = wout.Close() + got, _ := io.ReadAll(rout) + if !strings.HasPrefix(string(got), "OUT:") { + t.Fatalf("unexpected stdout: %q", string(got)) + } + _ = dir } func TestRunInTmuxParent_ExecutableError(t *testing.T) { - old := osExecutableFn - osExecutableFn = func() (string, error) { return "", fmt.Errorf("no exe") } - t.Cleanup(func() { osExecutableFn = old }) - r, w, _ := os.Pipe(); _, _ = w.Write([]byte("x")); _ = w.Close() - if err := runInTmuxParent(r, io.Discard, "", "v", 33); err == nil { t.Fatal("expected error from missing executable") } + old := osExecutableFn + osExecutableFn = func() (string, error) { return "", fmt.Errorf("no exe") } + t.Cleanup(func() { osExecutableFn = old }) + r, w, _ := os.Pipe() + _, _ = w.Write([]byte("x")) + _ = w.Close() + if err := runInTmuxParent(r, io.Discard, "", "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-tmux-action", nil } - oldSplit := splitRunFn - splitRunFn = func(_ tmux.SplitOpts, _ []string) error { return fmt.Errorf("split failed") } - t.Cleanup(func() { osExecutableFn = oldExec; splitRunFn = oldSplit }) - r, w, _ := os.Pipe(); _, _ = w.Write([]byte("x")); _ = w.Close() - if err := runInTmuxParent(r, io.Discard, "", "v", 33); err == nil { t.Fatal("expected split error") } + oldExec := osExecutableFn + osExecutableFn = func() (string, error) { return "/bin/hexai-tmux-action", nil } + oldSplit := splitRunFn + splitRunFn = func(_ tmux.SplitOpts, _ []string) error { return fmt.Errorf("split failed") } + t.Cleanup(func() { osExecutableFn = oldExec; splitRunFn = oldSplit }) + r, w, _ := os.Pipe() + _, _ = w.Write([]byte("x")) + _ = w.Close() + if err := runInTmuxParent(r, io.Discard, "", "v", 33); err == nil { + t.Fatal("expected split error") + } } func TestRunChild_StdoutAndOutfile(t *testing.T) { - // Outfile mode - dir := t.TempDir() - in := filepath.Join(dir, "in.txt") - out := filepath.Join(dir, "out.txt") - _ = os.WriteFile(in, []byte("sel"), 0o600) - oldRun := runFn - runFn = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { _, _ = io.WriteString(w, "RESULT"); return nil } - t.Cleanup(func(){ runFn = oldRun }) - if err := runChild(context.Background(), in, out, io.Discard, io.Discard); err != nil { t.Fatalf("runChild: %v", err) } - b, _ := os.ReadFile(out) - if len(b) == 0 { t.Fatalf("expected some output") } - // Stdout mode - r, w, _ := os.Pipe() - if err := runChild(context.Background(), in, "", w, io.Discard); err != nil { t.Fatalf("runChild: %v", err) } - _ = w.Close(); buf, _ := io.ReadAll(r) - if len(buf) == 0 { t.Fatalf("expected stdout output") } + // Outfile mode + dir := t.TempDir() + in := filepath.Join(dir, "in.txt") + out := filepath.Join(dir, "out.txt") + _ = os.WriteFile(in, []byte("sel"), 0o600) + oldRun := runFn + runFn = func(_ context.Context, _ io.Reader, w io.Writer, _ io.Writer) error { + _, _ = io.WriteString(w, "RESULT") + return nil + } + t.Cleanup(func() { runFn = oldRun }) + if err := runChild(context.Background(), in, out, io.Discard, io.Discard); err != nil { + t.Fatalf("runChild: %v", err) + } + b, _ := os.ReadFile(out) + if len(b) == 0 { + t.Fatalf("expected some output") + } + // Stdout mode + r, w, _ := os.Pipe() + if err := runChild(context.Background(), in, "", w, io.Discard); err != nil { + t.Fatalf("runChild: %v", err) + } + _ = w.Close() + buf, _ := io.ReadAll(r) + if len(buf) == 0 { + t.Fatalf("expected stdout output") + } } func TestWaitForFile_Timeout(t *testing.T) { - dir := t.TempDir() - p := filepath.Join(dir, "nope") - if err := waitForFile(p, 10*time.Millisecond); err == nil { t.Fatal("expected timeout error") } + dir := t.TempDir() + p := filepath.Join(dir, "nope") + if err := waitForFile(p, 10*time.Millisecond); err == nil { + 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)) } + 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)) + } } diff --git a/internal/hexaiaction/custom_action_test.go b/internal/hexaiaction/custom_action_test.go index 451a313..72cfbc4 100644 --- a/internal/hexaiaction/custom_action_test.go +++ b/internal/hexaiaction/custom_action_test.go @@ -1,39 +1,46 @@ package hexaiaction import ( - "bytes" - "context" - "testing" + "bytes" + "context" + "os" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/editor" - "codeberg.org/snonux/hexai/internal/llm" - "os" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/editor" + "codeberg.org/snonux/hexai/internal/llm" ) type llmFake2 struct{} -func (llmFake2) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { return "DONE", nil } -func (llmFake2) Name() string { return "fake" } + +func (llmFake2) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { + return "DONE", nil +} +func (llmFake2) Name() string { return "fake" } func (llmFake2) DefaultModel() string { return "m" } func TestActionCustom_UsesEditorPrompt(t *testing.T) { - // Seam: choose custom, fake client, and fake editor - oldChoose := chooseActionFn - oldNew := newClientFromApp - chooseActionFn = func() (ActionKind, error) { return ActionCustom, nil } - newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return llmFake2{}, nil } - t.Cleanup(func(){ chooseActionFn = oldChoose; newClientFromApp = oldNew }) + // Seam: choose custom, fake client, and fake editor + oldChoose := chooseActionFn + oldNew := newClientFromApp + chooseActionFn = func() (ActionKind, error) { return ActionCustom, nil } + newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return llmFake2{}, nil } + t.Cleanup(func() { chooseActionFn = oldChoose; newClientFromApp = oldNew }) - oldRunEd := editor.RunEditor - editor.RunEditor = func(_ string, path string) error { - return os.WriteFile(path, []byte("make it done"), 0o600) - } - t.Cleanup(func(){ editor.RunEditor = oldRunEd }) - t.Setenv("HEXAI_EDITOR", "dummy") + oldRunEd := editor.RunEditor + editor.RunEditor = func(_ string, path string) error { + return os.WriteFile(path, []byte("make it done"), 0o600) + } + t.Cleanup(func() { editor.RunEditor = oldRunEd }) + t.Setenv("HEXAI_EDITOR", "dummy") - in := bytes.NewBufferString("some code") - var out bytes.Buffer - var errb bytes.Buffer - if err := Run(context.Background(), in, &out, &errb); err != nil { t.Fatalf("Run: %v", err) } - if out.String() == "" { t.Fatalf("expected output") } + in := bytes.NewBufferString("some code") + var out bytes.Buffer + var errb bytes.Buffer + if err := Run(context.Background(), in, &out, &errb); err != nil { + t.Fatalf("Run: %v", err) + } + if out.String() == "" { + t.Fatalf("expected output") + } } diff --git a/internal/hexaiaction/parse.go b/internal/hexaiaction/parse.go index 99e2b24..33fc4af 100644 --- a/internal/hexaiaction/parse.go +++ b/internal/hexaiaction/parse.go @@ -1,11 +1,11 @@ package hexaiaction import ( - "bufio" - "io" - "strings" + "bufio" + "io" + "strings" - "codeberg.org/snonux/hexai/internal/textutil" + "codeberg.org/snonux/hexai/internal/textutil" ) // ParseInput splits raw stdin into optional diagnostics and selection/code. diff --git a/internal/hexaiaction/parse_test.go b/internal/hexaiaction/parse_test.go index f81ab54..ba5cd96 100644 --- a/internal/hexaiaction/parse_test.go +++ b/internal/hexaiaction/parse_test.go @@ -77,6 +77,8 @@ func (f *fakeClient) Chat(_ context.Context, msgs []llm.Message, _ ...llm.Reques return f.out, f.err } +func (f *fakeClient) DefaultModel() string { return "m" } + func TestRuners_Prompts(t *testing.T) { cfg := appconfig.App{ PromptCodeActionRewriteSystem: "SYS-R", diff --git a/internal/hexaiaction/prompts_more_test.go b/internal/hexaiaction/prompts_more_test.go index 62abc97..9f5d6cb 100644 --- a/internal/hexaiaction/prompts_more_test.go +++ b/internal/hexaiaction/prompts_more_test.go @@ -1,19 +1,26 @@ package hexaiaction import ( - "context" - "strings" - "testing" + "context" + "strings" + "testing" - "codeberg.org/snonux/hexai/internal/llm" + "codeberg.org/snonux/hexai/internal/llm" ) type simpleDoer struct{ s string } -func (d simpleDoer) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { return d.s, nil } +func (d simpleDoer) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { + return d.s, nil +} +func (d simpleDoer) DefaultModel() string { return "m" } func TestRunOnce_StripsFences(t *testing.T) { - got, err := runOnce(context.Background(), simpleDoer{"```\nok\n```"}, "SYS", "USER") - if err != nil { t.Fatalf("runOnce: %v", err) } - if strings.TrimSpace(got) != "ok" { t.Fatalf("got %q", got) } + got, err := runOnce(context.Background(), simpleDoer{"```\nok\n```"}, "SYS", "USER") + if err != nil { + t.Fatalf("runOnce: %v", err) + } + if strings.TrimSpace(got) != "ok" { + t.Fatalf("got %q", got) + } } diff --git a/internal/hexaiaction/run_more_test.go b/internal/hexaiaction/run_more_test.go index d7ab025..1c0eb51 100644 --- a/internal/hexaiaction/run_more_test.go +++ b/internal/hexaiaction/run_more_test.go @@ -1,26 +1,25 @@ package hexaiaction import ( - "bytes" - "context" - "os" - "testing" + "bytes" + "context" + "os" + "testing" ) // Covers the early error path in Run when no API key is available for the default provider. func TestRun_MissingAPIKey(t *testing.T) { - // Ensure no provider API keys in env - for _, k := range []string{"HEXAI_OPENAI_API_KEY", "OPENAI_API_KEY", "HEXAI_COPILOT_API_KEY", "COPILOT_API_KEY"} { - t.Setenv(k, "") - } - // Provide minimal stdin to get past empty input check (if reached) - in := bytes.NewBufferString("some selection text") - var out bytes.Buffer - var errBuf bytes.Buffer - // Expect an error due to missing OPENAI_API_KEY (default provider is openai) - if err := Run(context.Background(), in, &out, &errBuf); err == nil { - t.Fatal("expected error when API key is missing") - } - _ = os.Stderr + // Ensure no provider API keys in env + for _, k := range []string{"HEXAI_OPENAI_API_KEY", "OPENAI_API_KEY", "HEXAI_COPILOT_API_KEY", "COPILOT_API_KEY"} { + t.Setenv(k, "") + } + // Provide minimal stdin to get past empty input check (if reached) + in := bytes.NewBufferString("some selection text") + var out bytes.Buffer + var errBuf bytes.Buffer + // Expect an error due to missing OPENAI_API_KEY (default provider is openai) + if err := Run(context.Background(), in, &out, &errBuf); err == nil { + t.Fatal("expected error when API key is missing") + } + _ = os.Stderr } - diff --git a/internal/hexaiaction/run_seam_test.go b/internal/hexaiaction/run_seam_test.go index 0b8761f..bbec858 100644 --- a/internal/hexaiaction/run_seam_test.go +++ b/internal/hexaiaction/run_seam_test.go @@ -1,36 +1,46 @@ package hexaiaction import ( - "bytes" - "context" - "testing" + "bytes" + "context" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/llm" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/llm" ) type llmFake struct{} -func (llmFake) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { return "OK", nil } +func (llmFake) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { + return "OK", nil +} func (llmFake) Name() string { return "fake" } func (llmFake) DefaultModel() string { return "model" } func TestRun_WithSeams_SkipAndRewrite(t *testing.T) { - // Seam: choose action to Skip first, then Rewrite - oldChoose := chooseActionFn - oldNew := newClientFromApp - t.Cleanup(func(){ chooseActionFn = oldChoose; newClientFromApp = oldNew }) - // 1) Skip -> echoes selection - chooseActionFn = func() (ActionKind, error) { return ActionSkip, nil } - newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return llmFake{}, nil } - var out bytes.Buffer - in := bytes.NewBufferString("some code") - if err := Run(context.Background(), in, &out, &out); err != nil { t.Fatalf("Run skip: %v", err) } - if out.String() != "some code" { t.Fatalf("skip out: %q", out.String()) } - // 2) Rewrite -> requires inline instruction - chooseActionFn = func() (ActionKind, error) { return ActionRewrite, nil } - out.Reset() - in = bytes.NewBufferString(";upper;\nhello") - if err := Run(context.Background(), in, &out, &out); err != nil { t.Fatalf("Run rewrite: %v", err) } - if out.String() == "" { t.Fatalf("expected non-empty rewrite output") } + // Seam: choose action to Skip first, then Rewrite + oldChoose := chooseActionFn + oldNew := newClientFromApp + t.Cleanup(func() { chooseActionFn = oldChoose; newClientFromApp = oldNew }) + // 1) Skip -> echoes selection + chooseActionFn = func() (ActionKind, error) { return ActionSkip, nil } + newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return llmFake{}, nil } + var out bytes.Buffer + in := bytes.NewBufferString("some code") + if err := Run(context.Background(), in, &out, &out); err != nil { + t.Fatalf("Run skip: %v", err) + } + if out.String() != "some code" { + t.Fatalf("skip out: %q", out.String()) + } + // 2) Rewrite -> requires inline instruction + chooseActionFn = func() (ActionKind, error) { return ActionRewrite, nil } + out.Reset() + in = bytes.NewBufferString(";upper;\nhello") + if err := Run(context.Background(), in, &out, &out); err != nil { + t.Fatalf("Run rewrite: %v", err) + } + if out.String() == "" { + t.Fatalf("expected non-empty rewrite output") + } } diff --git a/internal/hexaiaction/run_test.go b/internal/hexaiaction/run_test.go index 87fbfa8..e28bceb 100644 --- a/internal/hexaiaction/run_test.go +++ b/internal/hexaiaction/run_test.go @@ -1,51 +1,51 @@ package hexaiaction import ( - "context" - "strings" - "testing" + "context" + "strings" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/llm" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/llm" ) type fakeDoer struct{ out string } func (f fakeDoer) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { - return f.out, nil + return f.out, nil } +func (f fakeDoer) DefaultModel() string { return "m" } func TestExecuteAction_Skip(t *testing.T) { - cfg := appconfig.App{} - parts := InputParts{Selection: "data"} - out, err := executeAction(context.Background(), ActionSkip, parts, cfg, fakeDoer{"IGN"}, nil) - if err != nil || out != "data" { - t.Fatalf("skip failed: %q %v", out, err) - } + cfg := appconfig.App{} + parts := InputParts{Selection: "data"} + out, err := executeAction(context.Background(), ActionSkip, parts, cfg, fakeDoer{"IGN"}, nil) + if err != nil || out != "data" { + t.Fatalf("skip failed: %q %v", out, err) + } } func TestExecuteAction_Rewrite_Document_GoTest(t *testing.T) { - cfg := appconfig.Load(nil) // defaults - // Use fenced output to exercise StripFences - client := fakeDoer{"```\nDONE\n```"} - - // rewrite with inline instruction - sel := ";change;\ncode" - out, err := executeAction(context.Background(), ActionRewrite, InputParts{Selection: sel}, cfg, client, nil) - if err != nil || strings.TrimSpace(out) != "DONE" { - t.Fatalf("rewrite failed: %q %v", out, err) - } - - // document - out, err = executeAction(context.Background(), ActionDocument, InputParts{Selection: "code"}, cfg, client, nil) - if err != nil || strings.TrimSpace(out) != "DONE" { - t.Fatalf("document failed: %q %v", out, err) - } - - // go test - out, err = executeAction(context.Background(), ActionGoTest, InputParts{Selection: "func A(){}"}, cfg, client, nil) - if err != nil || strings.TrimSpace(out) != "DONE" { - t.Fatalf("gotest failed: %q %v", out, err) - } + cfg := appconfig.Load(nil) // defaults + // Use fenced output to exercise StripFences + client := fakeDoer{"```\nDONE\n```"} + + // rewrite with inline instruction + sel := ";change;\ncode" + out, err := executeAction(context.Background(), ActionRewrite, InputParts{Selection: sel}, cfg, client, nil) + if err != nil || strings.TrimSpace(out) != "DONE" { + t.Fatalf("rewrite failed: %q %v", out, err) + } + + // document + out, err = executeAction(context.Background(), ActionDocument, InputParts{Selection: "code"}, cfg, client, nil) + if err != nil || strings.TrimSpace(out) != "DONE" { + t.Fatalf("document failed: %q %v", out, err) + } + + // go test + out, err = executeAction(context.Background(), ActionGoTest, InputParts{Selection: "func A(){}"}, cfg, client, nil) + if err != nil || strings.TrimSpace(out) != "DONE" { + t.Fatalf("gotest failed: %q %v", out, err) + } } - diff --git a/internal/hexaiaction/tui.go b/internal/hexaiaction/tui.go index 317a991..d07bb78 100644 --- a/internal/hexaiaction/tui.go +++ b/internal/hexaiaction/tui.go @@ -1,11 +1,11 @@ package hexaiaction import ( - "fmt" - "strings" + "fmt" + "strings" - "github.com/charmbracelet/bubbles/list" - tea "github.com/charmbracelet/bubbletea" + "github.com/charmbracelet/bubbles/list" + tea "github.com/charmbracelet/bubbletea" ) // item implements list.Item @@ -26,20 +26,20 @@ type model struct { } func newModel() model { - items := []list.Item{ - item{title: "Rewrite selection", desc: "", kind: ActionRewrite, hotkey: 'r'}, - item{title: "Simplify and improve", desc: "", kind: ActionSimplify, hotkey: 'i'}, - item{title: "Document code", desc: "", kind: ActionDocument, hotkey: 'c'}, - item{title: "Generate Go unit test(s)", desc: "", kind: ActionGoTest, hotkey: 't'}, - item{title: "Custom prompt", desc: "", kind: ActionCustom, hotkey: 'p'}, - item{title: "Skip", desc: "", kind: ActionSkip, hotkey: 's'}, - } - l := list.New(items, oneLineDelegate{}, 0, 0) - l.SetShowTitle(false) - l.SetShowHelp(false) - l.SetShowStatusBar(false) - l.SetFilteringEnabled(false) - return model{list: l} + items := []list.Item{ + item{title: "Rewrite selection", desc: "", kind: ActionRewrite, hotkey: 'r'}, + item{title: "Simplify and improve", desc: "", kind: ActionSimplify, hotkey: 'i'}, + item{title: "Document code", desc: "", kind: ActionDocument, hotkey: 'c'}, + item{title: "Generate Go unit test(s)", desc: "", kind: ActionGoTest, hotkey: 't'}, + item{title: "Custom prompt", desc: "", kind: ActionCustom, hotkey: 'p'}, + item{title: "Skip", desc: "", kind: ActionSkip, hotkey: 's'}, + } + l := list.New(items, oneLineDelegate{}, 0, 0) + l.SetShowTitle(false) + l.SetShowHelp(false) + l.SetShowStatusBar(false) + l.SetFilteringEnabled(false) + return model{list: l} } func (m model) Init() tea.Cmd { return nil } @@ -57,43 +57,47 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } func handleKey(m model, msg tea.KeyMsg) (tea.Model, tea.Cmd) { - raw := msg.String() - low := strings.ToLower(raw) - switch low { - case "esc", "q": - // Treat ESC and q as Skip/quit - m.chosen = ActionSkip - m.done = true - return m, tea.Quit - case "enter": - if it, ok := m.list.SelectedItem().(item); ok { - m.chosen = it.kind - m.done = true - return m, tea.Quit - } - case "j", "down": - m.list.CursorDown() - case "k", "up": - m.list.CursorUp() - case "g", "home": - m.list.Select(0) - case "end": - if n := len(m.list.Items()); n > 0 { m.list.Select(n - 1) } - case "s", "r", "c", "t", "i", "p": - items := m.list.Items() - for i := 0; i < len(items); i++ { - if it, ok := items[i].(item); ok && strings.ToLower(string(it.hotkey)) == low { - m.list.Select(i) - m.chosen = it.kind - m.done = true - return m, tea.Quit - } - } - } - if raw == "G" { // Shift+G jumps to end - if n := len(m.list.Items()); n > 0 { m.list.Select(n - 1) } - } - return m, nil + raw := msg.String() + low := strings.ToLower(raw) + switch low { + case "esc", "q": + // Treat ESC and q as Skip/quit + m.chosen = ActionSkip + m.done = true + return m, tea.Quit + case "enter": + if it, ok := m.list.SelectedItem().(item); ok { + m.chosen = it.kind + m.done = true + return m, tea.Quit + } + case "j", "down": + m.list.CursorDown() + case "k", "up": + m.list.CursorUp() + case "g", "home": + m.list.Select(0) + case "end": + if n := len(m.list.Items()); n > 0 { + m.list.Select(n - 1) + } + case "s", "r", "c", "t", "i", "p": + items := m.list.Items() + for i := 0; i < len(items); i++ { + if it, ok := items[i].(item); ok && strings.ToLower(string(it.hotkey)) == low { + m.list.Select(i) + m.chosen = it.kind + m.done = true + return m, tea.Quit + } + } + } + if raw == "G" { // Shift+G jumps to end + if n := len(m.list.Items()); n > 0 { + m.list.Select(n - 1) + } + } + return m, nil } func (m model) View() string { diff --git a/internal/hexaiaction/tui_delegate.go b/internal/hexaiaction/tui_delegate.go index 0e5a68c..46d40cb 100644 --- a/internal/hexaiaction/tui_delegate.go +++ b/internal/hexaiaction/tui_delegate.go @@ -1,35 +1,35 @@ package hexaiaction import ( - "fmt" - "io" + "fmt" + "io" - "github.com/charmbracelet/bubbles/list" - tea "github.com/charmbracelet/bubbletea" - "github.com/charmbracelet/lipgloss" + "github.com/charmbracelet/bubbles/list" + tea "github.com/charmbracelet/bubbletea" + "github.com/charmbracelet/lipgloss" ) // oneLineDelegate renders a single compact line per item, no spacing. type oneLineDelegate struct{} var ( - hotStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("205")) - cursorStyle = lipgloss.NewStyle().Bold(true) + hotStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("205")) + cursorStyle = lipgloss.NewStyle().Bold(true) ) func (oneLineDelegate) Height() int { return 1 } func (oneLineDelegate) Spacing() int { return 0 } func (oneLineDelegate) Update(tea.Msg, *list.Model) tea.Cmd { return nil } func (oneLineDelegate) Render(w io.Writer, m list.Model, index int, listItem list.Item) { - title := listItem.FilterValue() - hk := '?' - if it, ok := listItem.(item); ok { - hk = it.hotkey - } - hot := hotStyle.Render(fmt.Sprintf(" (%c)", hk)) - cursor := " " - if index == m.Index() { - cursor = cursorStyle.Render("> ") - } - fmt.Fprintf(w, "%s%s%s", cursor, title, hot) + title := listItem.FilterValue() + hk := '?' + if it, ok := listItem.(item); ok { + hk = it.hotkey + } + hot := hotStyle.Render(fmt.Sprintf(" (%c)", hk)) + cursor := " " + if index == m.Index() { + cursor = cursorStyle.Render("> ") + } + fmt.Fprintf(w, "%s%s%s", cursor, title, hot) } diff --git a/internal/hexaiaction/tui_delegate_test.go b/internal/hexaiaction/tui_delegate_test.go index 27881e4..4bdb359 100644 --- a/internal/hexaiaction/tui_delegate_test.go +++ b/internal/hexaiaction/tui_delegate_test.go @@ -1,32 +1,32 @@ package hexaiaction import ( - "bytes" - "regexp" - "testing" + "bytes" + "regexp" + "testing" - "github.com/charmbracelet/bubbles/list" + "github.com/charmbracelet/bubbles/list" ) func stripANSI(s string) string { - re := regexp.MustCompile(`\x1b\[[0-9;]*m`) - return re.ReplaceAllString(s, "") + re := regexp.MustCompile(`\x1b\[[0-9;]*m`) + return re.ReplaceAllString(s, "") } func TestOneLineDelegate_Render(t *testing.T) { - items := []list.Item{item{title: "Rewrite selection", kind: ActionRewrite, hotkey: 'r'}} - m := list.New(items, oneLineDelegate{}, 0, 0) - m.Select(0) - var b bytes.Buffer - oneLineDelegate{}.Render(&b, m, 0, items[0]) - out := stripANSI(b.String()) - if !regexp.MustCompile(`> \w`).MatchString(out) { - t.Fatalf("expected cursor prefix in %q", out) - } - if !regexp.MustCompile(`Rewrite selection`).MatchString(out) { - t.Fatalf("expected title in %q", out) - } - if !regexp.MustCompile(`\(r\)`).MatchString(out) { - t.Fatalf("expected hotkey in %q", out) - } + items := []list.Item{item{title: "Rewrite selection", kind: ActionRewrite, hotkey: 'r'}} + m := list.New(items, oneLineDelegate{}, 0, 0) + m.Select(0) + var b bytes.Buffer + oneLineDelegate{}.Render(&b, m, 0, items[0]) + out := stripANSI(b.String()) + if !regexp.MustCompile(`> \w`).MatchString(out) { + t.Fatalf("expected cursor prefix in %q", out) + } + if !regexp.MustCompile(`Rewrite selection`).MatchString(out) { + t.Fatalf("expected title in %q", out) + } + if !regexp.MustCompile(`\(r\)`).MatchString(out) { + t.Fatalf("expected hotkey in %q", out) + } } diff --git a/internal/hexaiaction/tui_test.go b/internal/hexaiaction/tui_test.go index 6f1debc..f467e53 100644 --- a/internal/hexaiaction/tui_test.go +++ b/internal/hexaiaction/tui_test.go @@ -1,57 +1,57 @@ package hexaiaction import ( - "testing" + "testing" - tea "github.com/charmbracelet/bubbletea" + tea "github.com/charmbracelet/bubbletea" ) func TestHandleKey_EscSkips(t *testing.T) { - m := newModel() - nm, _ := handleKey(m, tea.KeyMsg{Type: tea.KeyEsc}) - got, ok := nm.(model) - if !ok || !got.done || got.chosen != ActionSkip { - t.Fatalf("esc should skip: ok=%v done=%v chosen=%v", ok, got.done, got.chosen) - } + m := newModel() + nm, _ := handleKey(m, tea.KeyMsg{Type: tea.KeyEsc}) + got, ok := nm.(model) + if !ok || !got.done || got.chosen != ActionSkip { + t.Fatalf("esc should skip: ok=%v done=%v chosen=%v", ok, got.done, got.chosen) + } } func TestHandleKey_QuickHotkey(t *testing.T) { - m := newModel() - nm, _ := handleKey(m, tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'r'}}) - got := nm.(model) - if !got.done || got.chosen != ActionRewrite { - t.Fatalf("r should choose rewrite: done=%v chosen=%v", got.done, got.chosen) - } + m := newModel() + nm, _ := handleKey(m, tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'r'}}) + got := nm.(model) + if !got.done || got.chosen != ActionRewrite { + t.Fatalf("r should choose rewrite: done=%v chosen=%v", got.done, got.chosen) + } } func TestHandleKey_JumpEndWithG(t *testing.T) { - m := newModel() - // raw 'G' rune should jump to end (special cased) - nm, _ := handleKey(m, tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'G'}}) - got := nm.(model) - if idx := got.list.Index(); idx != len(got.list.Items())-1 { - t.Fatalf("G should jump to end, index=%d", idx) - } + m := newModel() + // raw 'G' rune should jump to end (special cased) + nm, _ := handleKey(m, tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'G'}}) + got := nm.(model) + if idx := got.list.Index(); idx != len(got.list.Items())-1 { + t.Fatalf("G should jump to end, index=%d", idx) + } } 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) - } + 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") - } + 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") + } } diff --git a/internal/hexaiaction/types.go b/internal/hexaiaction/types.go index 7bc292e..d3cda4e 100644 --- a/internal/hexaiaction/types.go +++ b/internal/hexaiaction/types.go @@ -5,13 +5,13 @@ package hexaiaction type ActionKind string const ( - ActionSkip ActionKind = "skip" - ActionRewrite ActionKind = "rewrite" - ActionDiagnostics ActionKind = "diagnostics" - ActionDocument ActionKind = "document" - ActionGoTest ActionKind = "gotest" - ActionSimplify ActionKind = "simplify" - ActionCustom ActionKind = "custom" + ActionSkip ActionKind = "skip" + ActionRewrite ActionKind = "rewrite" + ActionDiagnostics ActionKind = "diagnostics" + ActionDocument ActionKind = "document" + ActionGoTest ActionKind = "gotest" + ActionSimplify ActionKind = "simplify" + ActionCustom ActionKind = "custom" ) // InputParts represents parsed stdin input for actions. diff --git a/internal/hexaicli/editor_integration_test.go b/internal/hexaicli/editor_integration_test.go index 1bebf75..7d53d1f 100644 --- a/internal/hexaicli/editor_integration_test.go +++ b/internal/hexaicli/editor_integration_test.go @@ -1,51 +1,62 @@ package hexaicli import ( - "bytes" - "context" - "os" - "testing" + "bytes" + "context" + "os" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/editor" - "codeberg.org/snonux/hexai/internal/llm" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/editor" + "codeberg.org/snonux/hexai/internal/llm" ) type cliFake struct{} -func (cliFake) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { return "OUT", nil } -func (cliFake) Name() string { return "fake" } + +func (cliFake) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) { + return "OUT", nil +} +func (cliFake) Name() string { return "fake" } func (cliFake) DefaultModel() string { return "m" } -func (cliFake) CodeCompletion(context.Context, string, string, int, string, float64) ([]string, error) { return nil, nil } +func (cliFake) CodeCompletion(context.Context, string, string, int, string, float64) ([]string, error) { + return nil, nil +} func TestRun_NoArgs_OpensEditor(t *testing.T) { - // Seam: fake client and editor - oldNew := newClientFromApp - newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return cliFake{}, nil } - t.Cleanup(func(){ newClientFromApp = oldNew }) - oldRun := editor.RunEditor - editor.RunEditor = func(_ string, path string) error { return os.WriteFile(path, []byte("PROMPT"), 0o600) } - t.Cleanup(func(){ editor.RunEditor = oldRun }) - t.Setenv("HEXAI_EDITOR", "dummy") + // Seam: fake client and editor + oldNew := newClientFromApp + newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return cliFake{}, nil } + t.Cleanup(func() { newClientFromApp = oldNew }) + oldRun := editor.RunEditor + editor.RunEditor = func(_ string, path string) error { return os.WriteFile(path, []byte("PROMPT"), 0o600) } + t.Cleanup(func() { editor.RunEditor = oldRun }) + t.Setenv("HEXAI_EDITOR", "dummy") - // Provide stdin selection - var stdout, stderr bytes.Buffer - if err := Run(context.Background(), nil, bytes.NewBufferString("SELECTION"), &stdout, &stderr); err != nil { - t.Fatalf("Run: %v", err) - } - if stdout.String() == "" { t.Fatalf("expected some output") } + // Provide stdin selection + var stdout, stderr bytes.Buffer + if err := Run(context.Background(), nil, bytes.NewBufferString("SELECTION"), &stdout, &stderr); err != nil { + t.Fatalf("Run: %v", err) + } + if stdout.String() == "" { + t.Fatalf("expected some output") + } } func TestRun_WithArgs_DoesNotOpenEditor(t *testing.T) { - // Provide args; still use fake client - oldNew := newClientFromApp - newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return cliFake{}, nil } - t.Cleanup(func(){ newClientFromApp = oldNew }) - // Stub editor and detect if called (should not be) - called := false - oldRun := editor.RunEditor - editor.RunEditor = func(_ string, _ string) error { called = true; return nil } - t.Cleanup(func(){ editor.RunEditor = oldRun }) - var stdout, stderr bytes.Buffer - if err := Run(context.Background(), []string{"ARG"}, bytes.NewBufferString("SEL"), &stdout, &stderr); err != nil { t.Fatalf("Run: %v", err) } - if called { t.Fatalf("editor should not be invoked when args provided") } + // Provide args; still use fake client + oldNew := newClientFromApp + newClientFromApp = func(_ appconfig.App) (llm.Client, error) { return cliFake{}, nil } + t.Cleanup(func() { newClientFromApp = oldNew }) + // Stub editor and detect if called (should not be) + called := false + oldRun := editor.RunEditor + editor.RunEditor = func(_ string, _ string) error { called = true; return nil } + t.Cleanup(func() { editor.RunEditor = oldRun }) + var stdout, stderr bytes.Buffer + if err := Run(context.Background(), []string{"ARG"}, bytes.NewBufferString("SEL"), &stdout, &stderr); err != nil { + t.Fatalf("Run: %v", err) + } + if called { + t.Fatalf("editor should not be invoked when args provided") + } } diff --git a/internal/hexaicli/run_more_test.go b/internal/hexaicli/run_more_test.go index ae29563..bd88d56 100644 --- a/internal/hexaicli/run_more_test.go +++ b/internal/hexaicli/run_more_test.go @@ -1,44 +1,47 @@ package hexaicli import ( - "bytes" - "context" - "testing" + "bytes" + "context" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/llm" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/llm" ) type streamClient struct{} func (streamClient) Chat(ctx context.Context, msgs []llm.Message, opts ...llm.RequestOption) (string, error) { - return "X", nil + return "X", nil } func (streamClient) Name() string { return "fake" } func (streamClient) DefaultModel() string { return "m" } func (streamClient) ChatStream(ctx context.Context, msgs []llm.Message, onDelta func(string), opts ...llm.RequestOption) error { - onDelta("A") - onDelta("B") - return nil + onDelta("A") + onDelta("B") + return nil } func TestRunChat_Streaming(t *testing.T) { - var out, errw bytes.Buffer - input := "hello" - msgs := []llm.Message{{Role: "user", Content: input}} - if err := runChat(context.Background(), streamClient{}, msgs, input, &out, &errw); err != nil { - t.Fatalf("runChat failed: %v", err) - } - if out.String() != "AB" { - t.Fatalf("unexpected stream output: %q", out.String()) - } + var out, errw bytes.Buffer + input := "hello" + msgs := []llm.Message{{Role: "user", Content: input}} + if err := runChat(context.Background(), streamClient{}, msgs, input, &out, &errw); err != nil { + t.Fatalf("runChat failed: %v", err) + } + if out.String() != "AB" { + t.Fatalf("unexpected stream output: %q", out.String()) + } } func TestBuildMessagesFromConfig(t *testing.T) { - cfg := appconfig.App{PromptCLIDefaultSystem: "DEF", PromptCLIExplainSystem: "EXP"} - msgs := buildMessagesFromConfig(cfg, "tell me") - if msgs[0].Content != "DEF" { t.Fatalf("default system wrong: %q", msgs[0].Content) } - msgs = buildMessagesFromConfig(cfg, "please explain") - if msgs[0].Content != "EXP" { t.Fatalf("explain system wrong: %q", msgs[0].Content) } + cfg := appconfig.App{PromptCLIDefaultSystem: "DEF", PromptCLIExplainSystem: "EXP"} + msgs := buildMessagesFromConfig(cfg, "tell me") + if msgs[0].Content != "DEF" { + t.Fatalf("default system wrong: %q", msgs[0].Content) + } + msgs = buildMessagesFromConfig(cfg, "please explain") + if msgs[0].Content != "EXP" { + t.Fatalf("explain system wrong: %q", msgs[0].Content) + } } - diff --git a/internal/hexailsp/run_more_test.go b/internal/hexailsp/run_more_test.go index 01baa96..00b79c1 100644 --- a/internal/hexailsp/run_more_test.go +++ b/internal/hexailsp/run_more_test.go @@ -1,42 +1,43 @@ package hexailsp import ( - "bytes" - "io" - "log" - "testing" + "bytes" + "io" + "log" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/lsp" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/lsp" ) type recRunner struct{ ran bool } + func (r *recRunner) Run() error { r.ran = true; return nil } func TestRunWithFactory_BuildsOptionsAndClient(t *testing.T) { - var captured lsp.ServerOptions - factory := func(r io.Reader, w io.Writer, logger *log.Logger, opts lsp.ServerOptions) ServerRunner { - captured = opts - return &recRunner{} - } - var in, out bytes.Buffer - logger := log.New(&out, "", 0) - cfg := appconfig.Load(logger) - // Use ollama to avoid API keys - cfg.Provider = "ollama" - cfg.MaxTokens = 123 - cfg.PromptCodeActionRewriteSystem = "RSYS" - cfg.PromptCodeActionRewriteUser = "RUSER" - if err := RunWithFactory("", &in, &out, logger, cfg, nil, factory); err != nil { - t.Fatalf("RunWithFactory error: %v", err) - } - if captured.MaxTokens != 123 { - t.Fatalf("opts not applied: %+v", captured) - } - if captured.PromptRewriteSystem != "RSYS" || captured.PromptRewriteUser != "RUSER" { - t.Fatalf("prompts not mapped: %+v", captured) - } - if captured.Client == nil { - t.Fatalf("expected client to be constructed") - } + var captured lsp.ServerOptions + factory := func(r io.Reader, w io.Writer, logger *log.Logger, opts lsp.ServerOptions) ServerRunner { + captured = opts + return &recRunner{} + } + var in, out bytes.Buffer + logger := log.New(&out, "", 0) + cfg := appconfig.Load(logger) + // Use ollama to avoid API keys + cfg.Provider = "ollama" + cfg.MaxTokens = 123 + cfg.PromptCodeActionRewriteSystem = "RSYS" + cfg.PromptCodeActionRewriteUser = "RUSER" + if err := RunWithFactory("", &in, &out, logger, cfg, nil, factory); err != nil { + t.Fatalf("RunWithFactory error: %v", err) + } + if captured.MaxTokens != 123 { + t.Fatalf("opts not applied: %+v", captured) + } + if captured.PromptRewriteSystem != "RSYS" || captured.PromptRewriteUser != "RUSER" { + t.Fatalf("prompts not mapped: %+v", captured) + } + if captured.Client == nil { + t.Fatalf("expected client to be constructed") + } } diff --git a/internal/llm/provider_more2_test.go b/internal/llm/provider_more2_test.go index fd9b2c2..465be82 100644 --- a/internal/llm/provider_more2_test.go +++ b/internal/llm/provider_more2_test.go @@ -3,11 +3,10 @@ package llm import "testing" func TestNewFromConfig_Copilot(t *testing.T) { - t.Setenv("COPILOT_API_KEY", "x") - cfg := Config{Provider: "copilot", CopilotModel: "small"} - c, err := NewFromConfig(cfg, "", "x") - if err != nil || c == nil { - t.Fatalf("copilot provider failed: %v %v", c, err) - } + t.Setenv("COPILOT_API_KEY", "x") + cfg := Config{Provider: "copilot", CopilotModel: "small"} + c, err := NewFromConfig(cfg, "", "x") + if err != nil || c == nil { + t.Fatalf("copilot provider failed: %v %v", c, err) + } } - diff --git a/internal/llmutils/client.go b/internal/llmutils/client.go index ae545c5..9bd39ee 100644 --- a/internal/llmutils/client.go +++ b/internal/llmutils/client.go @@ -1,35 +1,34 @@ package llmutils import ( - "os" - "strings" + "os" + "strings" - "codeberg.org/snonux/hexai/internal/appconfig" - "codeberg.org/snonux/hexai/internal/llm" + "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/llm" ) // NewClientFromApp builds an llm.Client using app config and environment keys. func NewClientFromApp(cfg appconfig.App) (llm.Client, error) { - llmCfg := llm.Config{ - Provider: cfg.Provider, - OpenAIBaseURL: cfg.OpenAIBaseURL, - OpenAIModel: cfg.OpenAIModel, - OpenAITemperature: cfg.OpenAITemperature, - OllamaBaseURL: cfg.OllamaBaseURL, - OllamaModel: cfg.OllamaModel, - OllamaTemperature: cfg.OllamaTemperature, - CopilotBaseURL: cfg.CopilotBaseURL, - CopilotModel: cfg.CopilotModel, - CopilotTemperature: cfg.CopilotTemperature, - } - oaKey := os.Getenv("HEXAI_OPENAI_API_KEY") - if strings.TrimSpace(oaKey) == "" { - oaKey = os.Getenv("OPENAI_API_KEY") - } - cpKey := os.Getenv("HEXAI_COPILOT_API_KEY") - if strings.TrimSpace(cpKey) == "" { - cpKey = os.Getenv("COPILOT_API_KEY") - } - return llm.NewFromConfig(llmCfg, oaKey, cpKey) + llmCfg := llm.Config{ + Provider: cfg.Provider, + OpenAIBaseURL: cfg.OpenAIBaseURL, + OpenAIModel: cfg.OpenAIModel, + OpenAITemperature: cfg.OpenAITemperature, + OllamaBaseURL: cfg.OllamaBaseURL, + OllamaModel: cfg.OllamaModel, + OllamaTemperature: cfg.OllamaTemperature, + CopilotBaseURL: cfg.CopilotBaseURL, + CopilotModel: cfg.CopilotModel, + CopilotTemperature: cfg.CopilotTemperature, + } + oaKey := os.Getenv("HEXAI_OPENAI_API_KEY") + if strings.TrimSpace(oaKey) == "" { + oaKey = os.Getenv("OPENAI_API_KEY") + } + cpKey := os.Getenv("HEXAI_COPILOT_API_KEY") + if strings.TrimSpace(cpKey) == "" { + cpKey = os.Getenv("COPILOT_API_KEY") + } + return llm.NewFromConfig(llmCfg, oaKey, cpKey) } - diff --git a/internal/llmutils/client_test.go b/internal/llmutils/client_test.go index 9bb7ea2..2e20db3 100644 --- a/internal/llmutils/client_test.go +++ b/internal/llmutils/client_test.go @@ -1,28 +1,27 @@ package llmutils import ( - "os" - "testing" + "os" + "testing" - "codeberg.org/snonux/hexai/internal/appconfig" + "codeberg.org/snonux/hexai/internal/appconfig" ) func TestNewClientFromApp_Ollama(t *testing.T) { - cfg := appconfig.App{Provider: "ollama"} - c, err := NewClientFromApp(cfg) - if err != nil || c == nil { - t.Fatalf("ollama client failed: %v %v", c, err) - } + cfg := appconfig.App{Provider: "ollama"} + c, err := NewClientFromApp(cfg) + if err != nil || c == nil { + t.Fatalf("ollama client failed: %v %v", c, err) + } } func TestNewClientFromApp_OpenAI_WithKey(t *testing.T) { - t.Setenv("HEXAI_OPENAI_API_KEY", "test-key") - cfg := appconfig.App{Provider: "openai"} - c, err := NewClientFromApp(cfg) - if err != nil || c == nil { - t.Fatalf("openai client failed: %v %v", c, err) - } - // ensure env override precedence - _ = os.Unsetenv("OPENAI_API_KEY") + t.Setenv("HEXAI_OPENAI_API_KEY", "test-key") + cfg := appconfig.App{Provider: "openai"} + c, err := NewClientFromApp(cfg) + if err != nil || c == nil { + t.Fatalf("openai client failed: %v %v", c, err) + } + // ensure env override precedence + _ = os.Unsetenv("OPENAI_API_KEY") } - diff --git a/internal/logging/logging_test.go b/internal/logging/logging_test.go index 716781e..31603f0 100644 --- a/internal/logging/logging_test.go +++ b/internal/logging/logging_test.go @@ -1,24 +1,23 @@ package logging import ( - "bytes" - "log" - "testing" + "bytes" + "log" + "testing" ) func TestPreviewAndLogfAndChatLogger(t *testing.T) { - var buf bytes.Buffer - Bind(log.New(&buf, "", 0)) - SetLogPreviewLimit(3) - if got := PreviewForLog("abcdef"); got != "abc…" { - t.Fatalf("preview wrong: %q", got) - } - Logf("unit ", "hello %s", "x") - cl := NewChatLogger("p") - cl.LogStart(true, "m", 0.5, 100, []string{"stop"}, []struct{ Role, Content string }{{"user", "hello"}}) - out := buf.String() - if out == "" || !bytes.Contains([]byte(out), []byte("start")) { - t.Fatalf("expected logged content, got %q", out) - } + var buf bytes.Buffer + Bind(log.New(&buf, "", 0)) + SetLogPreviewLimit(3) + if got := PreviewForLog("abcdef"); got != "abc…" { + t.Fatalf("preview wrong: %q", got) + } + Logf("unit ", "hello %s", "x") + cl := NewChatLogger("p") + cl.LogStart(true, "m", 0.5, 100, []string{"stop"}, []struct{ Role, Content string }{{"user", "hello"}}) + out := buf.String() + if out == "" || !bytes.Contains([]byte(out), []byte("start")) { + t.Fatalf("expected logged content, got %q", out) + } } - diff --git a/internal/lsp/codeaction_gotest_int_test.go b/internal/lsp/codeaction_gotest_int_test.go index 6bb1c45..04a73e0 100644 --- a/internal/lsp/codeaction_gotest_int_test.go +++ b/internal/lsp/codeaction_gotest_int_test.go @@ -1,26 +1,25 @@ package lsp import ( - "os" - "path/filepath" - "testing" + "os" + "path/filepath" + "testing" ) func TestResolveGoTest_CreatesTestFile(t *testing.T) { - dir := t.TempDir() - src := filepath.Join(dir, "x.go") - if err := os.WriteFile(src, []byte("package x\n\nfunc Sum(a,b int) int { return a+b }\n"), 0o644); err != nil { - t.Fatalf("write: %v", err) - } - s := &Server{} // minimal server with nil llmClient to trigger stub - uri := "file://" + src - we, jumpURI, jumpRange, ok := s.resolveGoTest(uri, Position{Line: 2}) - if !ok || jumpURI == "" || jumpRange.Start.Line < 0 { - t.Fatalf("resolveGoTest failed: ok=%v uri=%q range=%v", ok, jumpURI, jumpRange) - } - // Expect documentChanges to include a create and an edit - if len(we.DocumentChanges) == 0 && len(we.Changes) == 0 { - t.Fatalf("expected edits to create or append test file: %+v", we) - } + dir := t.TempDir() + src := filepath.Join(dir, "x.go") + if err := os.WriteFile(src, []byte("package x\n\nfunc Sum(a,b int) int { return a+b }\n"), 0o644); err != nil { + t.Fatalf("write: %v", err) + } + s := &Server{} // minimal server with nil llmClient to trigger stub + uri := "file://" + src + we, jumpURI, jumpRange, ok := s.resolveGoTest(uri, Position{Line: 2}) + if !ok || jumpURI == "" || jumpRange.Start.Line < 0 { + t.Fatalf("resolveGoTest failed: ok=%v uri=%q range=%v", ok, jumpURI, jumpRange) + } + // Expect documentChanges to include a create and an edit + if len(we.DocumentChanges) == 0 && len(we.Changes) == 0 { + t.Fatalf("expected edits to create or append test file: %+v", we) + } } - diff --git a/internal/lsp/coverage_add_test.go b/internal/lsp/coverage_add_test.go index f4b0f00..7701a5e 100644 --- a/internal/lsp/coverage_add_test.go +++ b/internal/lsp/coverage_add_test.go @@ -1,103 +1,103 @@ package lsp import ( - "encoding/json" - "testing" + "encoding/json" + "testing" ) func TestInParamListAndComputeWordStart(t *testing.T) { - line := "func add(a int, b int) int { return a + b }" - if !inParamList(line, 15) { // inside params - t.Fatalf("expected inParamList true") - } - if inParamList("not a func", 3) { - t.Fatalf("expected inParamList false") - } - if n := computeWordStart("helloWorld", 10); n != 0 { - t.Fatalf("computeWordStart wrong: %d", n) - } + line := "func add(a int, b int) int { return a + b }" + if !inParamList(line, 15) { // inside params + t.Fatalf("expected inParamList true") + } + if inParamList("not a func", 3) { + t.Fatalf("expected inParamList false") + } + if n := computeWordStart("helloWorld", 10); n != 0 { + t.Fatalf("computeWordStart wrong: %d", n) + } } func TestStripInlineAndLabel(t *testing.T) { - if got := stripInlineCodeSpan("`abc`def"); got != "abc" { - t.Fatalf("stripInlineCodeSpan: %q", got) - } - if lbl := labelForCompletion("First line\nSecond", "fir"); lbl != "First line" { - t.Fatalf("labelForCompletion: %q", lbl) - } - if lbl := labelForCompletion("Other", "zzz"); lbl != "zzz" { - t.Fatalf("label fallback: %q", lbl) - } + if got := stripInlineCodeSpan("`abc`def"); got != "abc" { + t.Fatalf("stripInlineCodeSpan: %q", got) + } + if lbl := labelForCompletion("First line\nSecond", "fir"); lbl != "First line" { + t.Fatalf("labelForCompletion: %q", lbl) + } + if lbl := labelForCompletion("Other", "zzz"); lbl != "zzz" { + t.Fatalf("label fallback: %q", lbl) + } } func TestRangeComparators(t *testing.T) { - a := Range{Start: Position{Line: 1, Character: 5}, End: Position{Line: 3, Character: 0}} - b := Range{Start: Position{Line: 2, Character: 0}, End: Position{Line: 4, Character: 0}} - if !rangesOverlap(a, b) { - t.Fatalf("expected overlap") - } - if !lessPos(Position{Line: 1, Character: 0}, Position{Line: 1, Character: 1}) { - t.Fatalf("lessPos") - } - if !greaterPos(Position{Line: 2, Character: 0}, Position{Line: 1, Character: 10}) { - t.Fatalf("greaterPos") - } - if !isIdentChar('A') || isIdentChar('-') { - t.Fatalf("isIdentChar") - } + a := Range{Start: Position{Line: 1, Character: 5}, End: Position{Line: 3, Character: 0}} + b := Range{Start: Position{Line: 2, Character: 0}, End: Position{Line: 4, Character: 0}} + if !rangesOverlap(a, b) { + t.Fatalf("expected overlap") + } + if !lessPos(Position{Line: 1, Character: 0}, Position{Line: 1, Character: 1}) { + t.Fatalf("lessPos") + } + if !greaterPos(Position{Line: 2, Character: 0}, Position{Line: 1, Character: 10}) { + t.Fatalf("greaterPos") + } + if !isIdentChar('A') || isIdentChar('-') { + t.Fatalf("isIdentChar") + } } func TestFindGoFunctionAtLine_NoBody(t *testing.T) { - lines := []string{"func X(a int)", "// comment"} - start, end := findGoFunctionAtLine(lines, 0) - if start != 0 || end != 0 { - t.Fatalf("expected single-line prototype, got %d,%d", start, end) - } + lines := []string{"func X(a int)", "// comment"} + start, end := findGoFunctionAtLine(lines, 0) + if start != 0 || end != 0 { + t.Fatalf("expected single-line prototype, got %d,%d", start, end) + } } func TestLineHasInlinePrompt(t *testing.T) { - if !lineHasInlinePrompt(">do>") { - t.Fatalf("expected inline prompt") - } + if !lineHasInlinePrompt(">do>") { + t.Fatalf("expected inline prompt") + } } func TestDiagnosticsInRange_Overlap(t *testing.T) { - s := &Server{} - ctx := CodeActionContext{Diagnostics: []Diagnostic{{ - Range: Range{Start: Position{Line: 10, Character: 0}, End: Position{Line: 12, Character: 0}}, - Message: "x", - }}} - raw, _ := json.Marshal(ctx) - sel := Range{Start: Position{Line: 11, Character: 0}, End: Position{Line: 11, Character: 1}} - out := s.diagnosticsInRange(raw, sel) - if len(out) != 1 { - t.Fatalf("expected 1 diag overlap, got %d", len(out)) - } - // no diagnostics - var empty json.RawMessage - if o2 := s.diagnosticsInRange(empty, sel); len(o2) != 0 { - t.Fatalf("expected 0 with empty ctx") - } + s := &Server{} + ctx := CodeActionContext{Diagnostics: []Diagnostic{{ + Range: Range{Start: Position{Line: 10, Character: 0}, End: Position{Line: 12, Character: 0}}, + Message: "x", + }}} + raw, _ := json.Marshal(ctx) + sel := Range{Start: Position{Line: 11, Character: 0}, End: Position{Line: 11, Character: 1}} + out := s.diagnosticsInRange(raw, sel) + if len(out) != 1 { + t.Fatalf("expected 1 diag overlap, got %d", len(out)) + } + // no diagnostics + var empty json.RawMessage + if o2 := s.diagnosticsInRange(empty, sel); len(o2) != 0 { + t.Fatalf("expected 0 with empty ctx") + } } func TestIndentHelpersAndPromptRemoval(t *testing.T) { - if ind := leadingIndent("\t ab"); ind == "" { - t.Fatalf("expected indent") - } - if out := applyIndent(" ", "x\ny"); out != " x\n y" { - t.Fatalf("applyIndent: %q", out) - } - // double-open trigger removes whole line - edits := promptRemovalEditsForLine(">>ask>", 3) - if len(edits) != 1 || edits[0].Range.Start.Line != 3 { - t.Fatalf("unexpected edits: %#v", edits) - } - // temporarily switch to semicolon tags and test collection - oldOpen, oldClose := inlineOpenChar, inlineCloseChar - inlineOpenChar, inlineCloseChar = ';', ';' - t.Cleanup(func() { inlineOpenChar, inlineCloseChar = oldOpen, oldClose }) - edits2 := collectSemicolonMarkers("pre;do;post", 1) - if len(edits2) != 1 { - t.Fatalf("expected one semicolon edit, got %#v", edits2) - } + if ind := leadingIndent("\t ab"); ind == "" { + t.Fatalf("expected indent") + } + if out := applyIndent(" ", "x\ny"); out != " x\n y" { + t.Fatalf("applyIndent: %q", out) + } + // double-open trigger removes whole line + edits := promptRemovalEditsForLine(">>ask>", 3) + if len(edits) != 1 || edits[0].Range.Start.Line != 3 { + t.Fatalf("unexpected edits: %#v", edits) + } + // temporarily switch to semicolon tags and test collection + oldOpen, oldClose := inlineOpenChar, inlineCloseChar + inlineOpenChar, inlineCloseChar = ';', ';' + t.Cleanup(func() { inlineOpenChar, inlineCloseChar = oldOpen, oldClose }) + edits2 := collectSemicolonMarkers("pre;do;post", 1) + if len(edits2) != 1 { + t.Fatalf("expected one semicolon edit, got %#v", edits2) + } } diff --git a/internal/lsp/handlers.go b/internal/lsp/handlers.go index 420a694..e85065b 100644 --- a/internal/lsp/handlers.go +++ b/internal/lsp/handlers.go @@ -2,9 +2,9 @@ package lsp import ( - "encoding/json" - "fmt" - "strings" + "encoding/json" + "fmt" + "strings" ) func (s *Server) handle(req Request) { @@ -26,14 +26,14 @@ func (s *Server) handle(req Request) { // a line comment (//, #, --). Returns the instruction string and the selection // text cleaned of the matched instruction marker or comment. func instructionFromSelection(sel string) (string, string) { - lines := splitLines(sel) - for idx, line := range lines { - if instr, cleaned, ok := findFirstInstructionInLine(line); ok && strings.TrimSpace(instr) != "" { - lines[idx] = cleaned - return instr, strings.Join(lines, "\n") - } - } - return "", sel + lines := splitLines(sel) + for idx, line := range lines { + if instr, cleaned, ok := findFirstInstructionInLine(line); ok && strings.TrimSpace(instr) != "" { + lines[idx] = cleaned + return instr, strings.Join(lines, "\n") + } + } + return "", sel } // findFirstInstructionInLine returns the earliest instruction marker on the @@ -46,51 +46,51 @@ func instructionFromSelection(sel string) (string, string) { // - # text // - -- text func findFirstInstructionInLine(line string) (instr string, cleaned string, ok bool) { - type cand struct { - start, end int - text string - } - cands := []cand{} - if t, l, r, ok := findStrictInlineTag(line); ok { - cands = append(cands, cand{start: l, end: r, text: t}) - } - if i := strings.Index(line, "/*"); i >= 0 { - if j := strings.Index(line[i+2:], "*/"); j >= 0 { - start := i - end := i + 2 + j + 2 - text := strings.TrimSpace(line[i+2 : i+2+j]) - cands = append(cands, cand{start: start, end: end, text: text}) - } - } - if i := strings.Index(line, "<!--"); i >= 0 { - if j := strings.Index(line[i+4:], "-->"); j >= 0 { - start := i - end := i + 4 + j + 3 - text := strings.TrimSpace(line[i+4 : i+4+j]) - cands = append(cands, cand{start: start, end: end, text: text}) - } - } - if i := strings.Index(line, "//"); i >= 0 { - cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) - } - if i := strings.Index(line, "#"); i >= 0 { - cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+1:])}) - } - if i := strings.Index(line, "--"); i >= 0 { - cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) - } - if len(cands) == 0 { - return "", line, false - } - // pick earliest start index - best := cands[0] - for _, c := range cands[1:] { - if c.start >= 0 && (best.start < 0 || c.start < best.start) { - best = c - } - } - cleaned = strings.TrimRight(line[:best.start]+line[best.end:], " \t") - return best.text, cleaned, true + type cand struct { + start, end int + text string + } + cands := []cand{} + if t, l, r, ok := findStrictInlineTag(line); ok { + cands = append(cands, cand{start: l, end: r, text: t}) + } + if i := strings.Index(line, "/*"); i >= 0 { + if j := strings.Index(line[i+2:], "*/"); j >= 0 { + start := i + end := i + 2 + j + 2 + text := strings.TrimSpace(line[i+2 : i+2+j]) + cands = append(cands, cand{start: start, end: end, text: text}) + } + } + if i := strings.Index(line, "<!--"); i >= 0 { + if j := strings.Index(line[i+4:], "-->"); j >= 0 { + start := i + end := i + 4 + j + 3 + text := strings.TrimSpace(line[i+4 : i+4+j]) + cands = append(cands, cand{start: start, end: end, text: text}) + } + } + if i := strings.Index(line, "//"); i >= 0 { + cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) + } + if i := strings.Index(line, "#"); i >= 0 { + cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+1:])}) + } + if i := strings.Index(line, "--"); i >= 0 { + cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) + } + if len(cands) == 0 { + return "", line, false + } + // pick earliest start index + best := cands[0] + for _, c := range cands[1:] { + if c.start >= 0 && (best.start < 0 || c.start < best.start) { + best = c + } + } + cleaned = strings.TrimRight(line[:best.start]+line[best.end:], " \t") + return best.text, cleaned, true } // diagnosticsInRange parses the CodeAction context and returns diagnostics diff --git a/internal/lsp/handlers_codeaction.go b/internal/lsp/handlers_codeaction.go index d8dba38..e1c2720 100644 --- a/internal/lsp/handlers_codeaction.go +++ b/internal/lsp/handlers_codeaction.go @@ -31,40 +31,40 @@ func (s *Server) handleCodeAction(req Request) { } sel := extractRangeText(d, p.Range) - actions := make([]CodeAction, 0, 5) + actions := make([]CodeAction, 0, 5) if a := s.buildRewriteCodeAction(p, sel); a != nil { actions = append(actions, *a) } if a := s.buildDiagnosticsCodeAction(p, sel); a != nil { actions = append(actions, *a) } - if a := s.buildDocumentCodeAction(p, sel); a != nil { - actions = append(actions, *a) - } - if a := s.buildGoUnitTestCodeAction(p); a != nil { - actions = append(actions, *a) - } - if a := s.buildSimplifyCodeAction(p, sel); a != nil { - actions = append(actions, *a) - } + if a := s.buildDocumentCodeAction(p, sel); a != nil { + actions = append(actions, *a) + } + if a := s.buildGoUnitTestCodeAction(p); a != nil { + actions = append(actions, *a) + } + if a := s.buildSimplifyCodeAction(p, sel); a != nil { + actions = append(actions, *a) + } if len(req.ID) != 0 { s.reply(req.ID, actions, nil) } } func (s *Server) buildSimplifyCodeAction(p CodeActionParams, sel string) *CodeAction { - if strings.TrimSpace(sel) == "" { - return nil - } - payload := struct { - Type string `json:"type"` - URI string `json:"uri"` - Range Range `json:"range"` - Selection string `json:"selection"` - }{Type: "simplify", URI: p.TextDocument.URI, Range: p.Range, Selection: sel} - raw, _ := json.Marshal(payload) - ca := CodeAction{Title: "Hexai: simplify and improve", Kind: "refactor", Data: raw} - return &ca + if strings.TrimSpace(sel) == "" { + return nil + } + payload := struct { + Type string `json:"type"` + URI string `json:"uri"` + Range Range `json:"range"` + Selection string `json:"selection"` + }{Type: "simplify", URI: p.TextDocument.URI, Range: p.Range, Selection: sel} + raw, _ := json.Marshal(payload) + ca := CodeAction{Title: "Hexai: simplify and improve", Kind: "refactor", Data: raw} + return &ca } func (s *Server) buildRewriteCodeAction(p CodeActionParams, sel string) *CodeAction { @@ -115,7 +115,7 @@ func (s *Server) resolveCodeAction(ca CodeAction) (CodeAction, bool) { if err := json.Unmarshal(ca.Data, &payload); err != nil { return ca, false } - switch payload.Type { + switch payload.Type { case "rewrite": sys := s.promptRewriteSystem user := renderTemplate(s.promptRewriteUser, map[string]string{"instruction": payload.Instruction, "selection": payload.Selection}) @@ -123,7 +123,7 @@ func (s *Server) resolveCodeAction(ca CodeAction) (CodeAction, bool) { defer cancel() messages := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} opts := s.llmRequestOpts() - if text, err := s.llmClient.Chat(ctx, messages, opts...); err == nil { + if text, err := s.chatWithStats(ctx, messages, opts...); err == nil { if out := stripCodeFences(strings.TrimSpace(text)); out != "" { edit := WorkspaceEdit{Changes: map[string][]TextEdit{payload.URI: {{Range: payload.Range, NewText: out}}}} ca.Edit = &edit @@ -148,7 +148,7 @@ func (s *Server) resolveCodeAction(ca CodeAction) (CodeAction, bool) { defer cancel() messages := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} opts := s.llmRequestOpts() - if text, err := s.llmClient.Chat(ctx, messages, opts...); err == nil { + if text, err := s.chatWithStats(ctx, messages, opts...); err == nil { if out := stripCodeFences(strings.TrimSpace(text)); out != "" { edit := WorkspaceEdit{Changes: map[string][]TextEdit{payload.URI: {{Range: payload.Range, NewText: out}}}} ca.Edit = &edit @@ -164,7 +164,7 @@ func (s *Server) resolveCodeAction(ca CodeAction) (CodeAction, bool) { defer cancel() messages := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} opts := s.llmRequestOpts() - if text, err := s.llmClient.Chat(ctx, messages, opts...); err == nil { + if text, err := s.chatWithStats(ctx, messages, opts...); err == nil { if out := stripCodeFences(strings.TrimSpace(text)); out != "" { edit := WorkspaceEdit{Changes: map[string][]TextEdit{payload.URI: {{Range: payload.Range, NewText: out}}}} ca.Edit = &edit @@ -173,34 +173,34 @@ func (s *Server) resolveCodeAction(ca CodeAction) (CodeAction, bool) { } else { logging.Logf("lsp ", "codeAction document llm error: %v", err) } - case "go_test": - if edit, jumpURI, jumpRange, ok := s.resolveGoTest(payload.URI, payload.Range.Start); ok { - ca.Edit = &edit - // After edit is applied, ask client to jump to new test function - ca.Command = &Command{Title: "Jump to generated test", Command: "hexai.showDocument", Arguments: []any{jumpURI, jumpRange}} - // Also send a server-initiated showDocument shortly after resolve to cover - // clients that do not execute commands from code actions. - s.deferShowDocument(jumpURI, jumpRange) - return ca, true - } - case "simplify": - sys := s.promptRewriteSystem - // Reuse rewrite user template with a fixed instruction - user := renderTemplate(s.promptRewriteUser, map[string]string{"instruction": "Simplify and improve the code while preserving behavior. Return only the improved code.", "selection": payload.Selection}) - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - defer cancel() - messages := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} - opts := s.llmRequestOpts() - if text, err := s.llmClient.Chat(ctx, messages, opts...); err == nil { - if out := stripCodeFences(strings.TrimSpace(text)); out != "" { - edit := WorkspaceEdit{Changes: map[string][]TextEdit{payload.URI: {{Range: payload.Range, NewText: out}}}} - ca.Edit = &edit - return ca, true - } - } else { - logging.Logf("lsp ", "codeAction simplify llm error: %v", err) - } - } + case "go_test": + if edit, jumpURI, jumpRange, ok := s.resolveGoTest(payload.URI, payload.Range.Start); ok { + ca.Edit = &edit + // After edit is applied, ask client to jump to new test function + ca.Command = &Command{Title: "Jump to generated test", Command: "hexai.showDocument", Arguments: []any{jumpURI, jumpRange}} + // Also send a server-initiated showDocument shortly after resolve to cover + // clients that do not execute commands from code actions. + s.deferShowDocument(jumpURI, jumpRange) + return ca, true + } + case "simplify": + sys := s.promptRewriteSystem + // Reuse rewrite user template with a fixed instruction + user := renderTemplate(s.promptRewriteUser, map[string]string{"instruction": "Simplify and improve the code while preserving behavior. Return only the improved code.", "selection": payload.Selection}) + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + messages := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} + opts := s.llmRequestOpts() + if text, err := s.chatWithStats(ctx, messages, opts...); err == nil { + if out := stripCodeFences(strings.TrimSpace(text)); out != "" { + edit := WorkspaceEdit{Changes: map[string][]TextEdit{payload.URI: {{Range: payload.Range, NewText: out}}}} + ca.Edit = &edit + return ca, true + } + } else { + logging.Logf("lsp ", "codeAction simplify llm error: %v", err) + } + } return ca, false } @@ -508,7 +508,7 @@ func (s *Server) generateGoTestFunction(funcCode string) string { defer cancel() messages := []llm.Message{{Role: "system", Content: sys}, {Role: "user", Content: user}} opts := s.llmRequestOpts() - if out, err := s.llmClient.Chat(ctx, messages, opts...); err == nil { + if out, err := s.chatWithStats(ctx, messages, opts...); err == nil { cleaned := strings.TrimSpace(stripCodeFences(out)) if cleaned != "" { return cleaned diff --git a/internal/lsp/handlers_completion.go b/internal/lsp/handlers_completion.go index 06c44fb..14c5f3e 100644 --- a/internal/lsp/handlers_completion.go +++ b/internal/lsp/handlers_completion.go @@ -250,8 +250,14 @@ func (s *Server) tryProviderNativeCompletion(current string, p CompletionParams, if !s.waitForThrottle(ctx2) { return nil, false } + // Count approximate payload sizes: prompt+after sent; first suggestion received + sentBytes := len(prompt) + len(after) suggestions, err := cc.CodeCompletion(ctx2, prompt, after, 1, lang, temp) if err == nil && len(suggestions) > 0 { + // Update counters and heartbeat + s.incSentCounters(sentBytes) + s.incRecvCounters(len(suggestions[0])) + s.logLLMStats() cleaned := strings.TrimSpace(suggestions[0]) if cleaned != "" { cleaned = stripDuplicateAssignmentPrefix(current[:p.Position.Character], cleaned) @@ -272,6 +278,9 @@ func (s *Server) tryProviderNativeCompletion(current string, p CompletionParams, } } else if err != nil { logging.Logf("lsp ", "completion path=codex error=%v (falling back to chat)", err) + // Still emit a heartbeat for visibility, even on error + s.incSentCounters(sentBytes) + s.logLLMStats() } return nil, false } diff --git a/internal/lsp/handlers_document.go b/internal/lsp/handlers_document.go index f3648b2..14642c7 100644 --- a/internal/lsp/handlers_document.go +++ b/internal/lsp/handlers_document.go @@ -162,7 +162,7 @@ func (s *Server) detectAndHandleChat(uri string) { msgs := append([]llm.Message{{Role: "system", Content: sys}}, history...) opts := s.llmRequestOpts() logging.Logf("lsp ", "chat llm=requesting model=%s", s.llmClient.DefaultModel()) - text, err := s.llmClient.Chat(ctx, msgs, opts...) + text, err := s.chatWithStats(ctx, msgs, opts...) if err != nil { logging.Logf("lsp ", "chat llm error: %v", err) return diff --git a/internal/lsp/handlers_init_more_test.go b/internal/lsp/handlers_init_more_test.go index 230c773..8b8aa55 100644 --- a/internal/lsp/handlers_init_more_test.go +++ b/internal/lsp/handlers_init_more_test.go @@ -1,15 +1,14 @@ package lsp import ( - "bytes" - "log" - "testing" + "bytes" + "log" + "testing" ) func TestHandleInitialized_Logs(t *testing.T) { - // Minimal server with a logger; just ensure it doesn't panic. - var buf bytes.Buffer - s := NewServer(bytes.NewBuffer(nil), &buf, log.New(&buf, "", 0), ServerOptions{}) - s.handleInitialized() + // Minimal server with a logger; just ensure it doesn't panic. + var buf bytes.Buffer + s := NewServer(bytes.NewBuffer(nil), &buf, log.New(&buf, "", 0), ServerOptions{}) + s.handleInitialized() } - diff --git a/internal/lsp/server.go b/internal/lsp/server.go index 796d6f4..97d7de7 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -78,11 +78,11 @@ type Server struct { promptDocumentSystem string promptRewriteUser string promptDiagnosticsUser string - promptDocumentUser string - promptGoTestSystem string - promptGoTestUser string - promptSimplifySystem string - promptSimplifyUser string + promptDocumentUser string + promptGoTestSystem string + promptGoTestUser string + promptSimplifySystem string + promptSimplifyUser string } // ServerOptions collects configuration for NewServer to avoid long parameter lists. @@ -121,10 +121,10 @@ type ServerOptions struct { PromptRewriteUser string PromptDiagnosticsUser string PromptDocumentUser string - PromptGoTestSystem string - PromptGoTestUser string - PromptSimplifySystem string - PromptSimplifyUser string + PromptGoTestSystem string + PromptGoTestUser string + PromptSimplifySystem string + PromptSimplifyUser string } func NewServer(r io.Reader, w io.Writer, logger *log.Logger, opts ServerOptions) *Server { @@ -203,11 +203,11 @@ func NewServer(r io.Reader, w io.Writer, logger *log.Logger, opts ServerOptions) s.promptDocumentSystem = opts.PromptDocumentSystem s.promptRewriteUser = opts.PromptRewriteUser s.promptDiagnosticsUser = opts.PromptDiagnosticsUser - s.promptDocumentUser = opts.PromptDocumentUser - s.promptGoTestSystem = opts.PromptGoTestSystem - s.promptGoTestUser = opts.PromptGoTestUser - s.promptSimplifySystem = opts.PromptSimplifySystem - s.promptSimplifyUser = opts.PromptSimplifyUser + s.promptDocumentUser = opts.PromptDocumentUser + s.promptGoTestSystem = opts.PromptGoTestSystem + s.promptGoTestUser = opts.PromptGoTestUser + s.promptSimplifySystem = opts.PromptSimplifySystem + s.promptSimplifyUser = opts.PromptSimplifyUser // Assign package-level inline trigger chars for free helper functions if s.inlineOpen != "" { diff --git a/internal/testutil/fixtures_test.go b/internal/testutil/fixtures_test.go index 8c603d8..7c7f239 100644 --- a/internal/testutil/fixtures_test.go +++ b/internal/testutil/fixtures_test.go @@ -3,7 +3,10 @@ package testutil import "testing" func TestFixtures_ZeroCovTargets(t *testing.T) { - if MarkdownCodeFence() == "" { t.Fatal("MarkdownCodeFence empty") } - if MalformedJSON() == "" { t.Fatal("MalformedJSON empty") } + if MarkdownCodeFence() == "" { + t.Fatal("MarkdownCodeFence empty") + } + if MalformedJSON() == "" { + t.Fatal("MalformedJSON empty") + } } - diff --git a/internal/textutil/textutil.go b/internal/textutil/textutil.go index 7ef2680..1e9da3c 100644 --- a/internal/textutil/textutil.go +++ b/internal/textutil/textutil.go @@ -4,111 +4,125 @@ import "strings" // RenderTemplate performs simple {{var}} replacement in a template string. func RenderTemplate(t string, vars map[string]string) string { - if t == "" || len(vars) == 0 { - return t - } - out := t - for k, v := range vars { - out = strings.ReplaceAll(out, "{{"+k+"}}", v) - } - return out + if t == "" || len(vars) == 0 { + return t + } + out := t + for k, v := range vars { + out = strings.ReplaceAll(out, "{{"+k+"}}", v) + } + return out } // StripCodeFences removes surrounding Markdown triple-backtick fences. func StripCodeFences(s string) string { - t := strings.TrimSpace(s) - if t == "" { - return t - } - lines := strings.Split(t, "\n") - start := 0 - for start < len(lines) && strings.TrimSpace(lines[start]) == "" { - start++ - } - end := len(lines) - 1 - for end >= 0 && strings.TrimSpace(lines[end]) == "" { - end-- - } - if start >= len(lines) || end < 0 || start > end { - return t - } - first := strings.TrimSpace(lines[start]) - last := strings.TrimSpace(lines[end]) - if strings.HasPrefix(first, "```") && last == "```" && end > start { - inner := strings.Join(lines[start+1:end], "\n") - return inner - } - return t + t := strings.TrimSpace(s) + if t == "" { + return t + } + lines := strings.Split(t, "\n") + start := 0 + for start < len(lines) && strings.TrimSpace(lines[start]) == "" { + start++ + } + end := len(lines) - 1 + for end >= 0 && strings.TrimSpace(lines[end]) == "" { + end-- + } + if start >= len(lines) || end < 0 || start > end { + return t + } + first := strings.TrimSpace(lines[start]) + last := strings.TrimSpace(lines[end]) + if strings.HasPrefix(first, "```") && last == "```" && end > start { + inner := strings.Join(lines[start+1:end], "\n") + return inner + } + return t } // InstructionFromSelection extracts the first inline instruction and returns // (instruction, cleanedSelection). It detects markers on the earliest position // per line in precedence: strict ;text;, /* */, <!-- -->, //, #, --. func InstructionFromSelection(sel string) (string, string) { - lines := strings.Split(sel, "\n") - for idx, line := range lines { - if instr, cleaned, ok := FindFirstInstructionInLine(line); ok && strings.TrimSpace(instr) != "" { - lines[idx] = cleaned - return instr, strings.Join(lines, "\n") - } - } - return "", sel + lines := strings.Split(sel, "\n") + for idx, line := range lines { + if instr, cleaned, ok := FindFirstInstructionInLine(line); ok && strings.TrimSpace(instr) != "" { + lines[idx] = cleaned + return instr, strings.Join(lines, "\n") + } + } + return "", sel } // FindFirstInstructionInLine returns (instruction, cleaned, ok) for a single line. func FindFirstInstructionInLine(line string) (instr, cleaned string, ok bool) { - type cand struct{ start, end int; text string } - cands := []cand{} - if t, l, r, ok := FindStrictInlineTag(line); ok { - cands = append(cands, cand{start: l, end: r, text: t}) - } - if i := strings.Index(line, "/*"); i >= 0 { - if j := strings.Index(line[i+2:], "*/"); j >= 0 { - start := i - end := i + 2 + j + 2 - text := strings.TrimSpace(line[i+2 : i+2+j]) - cands = append(cands, cand{start: start, end: end, text: text}) - } - } - if i := strings.Index(line, "<!--"); i >= 0 { - if j := strings.Index(line[i+4:], "-->"); j >= 0 { - start := i - end := i + 4 + j + 3 - text := strings.TrimSpace(line[i+4 : i+4+j]) - cands = append(cands, cand{start: start, end: end, text: text}) - } - } - if i := strings.Index(line, "//"); i >= 0 { - cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) - } - if i := strings.Index(line, "#"); i >= 0 { - cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+1:])}) - } - if i := strings.Index(line, "--"); i >= 0 { - cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) - } - if len(cands) == 0 { return "", line, false } - best := cands[0] - for _, c := range cands[1:] { - if c.start >= 0 && (best.start < 0 || c.start < best.start) { best = c } - } - cleaned = strings.TrimRight(line[:best.start]+line[best.end:], " \t") - return best.text, cleaned, true + type cand struct { + start, end int + text string + } + cands := []cand{} + if t, l, r, ok := FindStrictInlineTag(line); ok { + cands = append(cands, cand{start: l, end: r, text: t}) + } + if i := strings.Index(line, "/*"); i >= 0 { + if j := strings.Index(line[i+2:], "*/"); j >= 0 { + start := i + end := i + 2 + j + 2 + text := strings.TrimSpace(line[i+2 : i+2+j]) + cands = append(cands, cand{start: start, end: end, text: text}) + } + } + if i := strings.Index(line, "<!--"); i >= 0 { + if j := strings.Index(line[i+4:], "-->"); j >= 0 { + start := i + end := i + 4 + j + 3 + text := strings.TrimSpace(line[i+4 : i+4+j]) + cands = append(cands, cand{start: start, end: end, text: text}) + } + } + if i := strings.Index(line, "//"); i >= 0 { + cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) + } + if i := strings.Index(line, "#"); i >= 0 { + cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+1:])}) + } + if i := strings.Index(line, "--"); i >= 0 { + cands = append(cands, cand{start: i, end: len(line), text: strings.TrimSpace(line[i+2:])}) + } + if len(cands) == 0 { + return "", line, false + } + best := cands[0] + for _, c := range cands[1:] { + if c.start >= 0 && (best.start < 0 || c.start < best.start) { + best = c + } + } + cleaned = strings.TrimRight(line[:best.start]+line[best.end:], " \t") + return best.text, cleaned, true } // FindStrictInlineTag finds ;text; with no spaces after/before semicolons. func FindStrictInlineTag(line string) (text string, left, right int, ok bool) { - for i := 0; i < len(line); i++ { - if line[i] != ';' { continue } - if i+1 < len(line) && line[i+1] == ' ' { continue } - for j := i + 1; j < len(line); j++ { - if line[j] == ';' { - if j-1 >= 0 && line[j-1] == ' ' { continue } - inner := strings.TrimSpace(line[i+1 : j]) - if inner != "" { return inner, i, j + 1, true } - } - } - } - return "", -1, -1, false + for i := 0; i < len(line); i++ { + if line[i] != ';' { + continue + } + if i+1 < len(line) && line[i+1] == ' ' { + continue + } + for j := i + 1; j < len(line); j++ { + if line[j] == ';' { + if j-1 >= 0 && line[j-1] == ' ' { + continue + } + inner := strings.TrimSpace(line[i+1 : j]) + if inner != "" { + return inner, i, j + 1, true + } + } + } + } + return "", -1, -1, false } - diff --git a/internal/textutil/textutil_test.go b/internal/textutil/textutil_test.go index 3a8cd90..cfe8de8 100644 --- a/internal/textutil/textutil_test.go +++ b/internal/textutil/textutil_test.go @@ -1,87 +1,89 @@ package textutil import ( - "regexp" - "strings" - "testing" + "regexp" + "strings" + "testing" ) func TestRenderTemplate_Basic(t *testing.T) { - out := RenderTemplate("Hello, {{name}}!", map[string]string{"name": "Hex"}) - if out != "Hello, Hex!" { - t.Fatalf("render failed: %q", out) - } - // No vars - if RenderTemplate("x", nil) != "x" { t.Fatal("nil vars changed output") } + out := RenderTemplate("Hello, {{name}}!", map[string]string{"name": "Hex"}) + if out != "Hello, Hex!" { + t.Fatalf("render failed: %q", out) + } + // No vars + if RenderTemplate("x", nil) != "x" { + t.Fatal("nil vars changed output") + } } func TestStripCodeFences_Variants(t *testing.T) { - cases := []struct{ in, want string }{ - {"```\ncode\n```", "code"}, - {"```go\npackage x\n```", "package x"}, - {"no fences", "no fences"}, - {"\n\n```\ntrim\n```\n", "trim"}, - } - for _, c := range cases { - if got := StripCodeFences(c.in); got != c.want { - t.Fatalf("strip mismatch: %q != %q", got, c.want) - } - } + cases := []struct{ in, want string }{ + {"```\ncode\n```", "code"}, + {"```go\npackage x\n```", "package x"}, + {"no fences", "no fences"}, + {"\n\n```\ntrim\n```\n", "trim"}, + } + for _, c := range cases { + if got := StripCodeFences(c.in); got != c.want { + t.Fatalf("strip mismatch: %q != %q", got, c.want) + } + } } func TestInstructionFromSelection_Markers(t *testing.T) { - inputs := []string{ - ";do it;\ncode", - "/* fix */\ncode", - "<!-- doc -->\ncode", - "// change\ncode", - "# tweak\ncode", - "-- op\ncode", - } - for _, in := range inputs { - instr, cleaned := InstructionFromSelection(in) - if strings.TrimSpace(instr) == "" { - t.Fatalf("no instruction for input: %q", in) - } - // cleaned should not contain the instruction token - if strings.Contains(cleaned, instr) { - // Allow coincidence only if separated differently; require not exact match on same line - first := strings.Split(in, "\n")[0] - if strings.Contains(first, instr) { - t.Fatalf("instruction not removed: %q", cleaned) - } - } - } + inputs := []string{ + ";do it;\ncode", + "/* fix */\ncode", + "<!-- doc -->\ncode", + "// change\ncode", + "# tweak\ncode", + "-- op\ncode", + } + for _, in := range inputs { + instr, cleaned := InstructionFromSelection(in) + if strings.TrimSpace(instr) == "" { + t.Fatalf("no instruction for input: %q", in) + } + // cleaned should not contain the instruction token + if strings.Contains(cleaned, instr) { + // Allow coincidence only if separated differently; require not exact match on same line + first := strings.Split(in, "\n")[0] + if strings.Contains(first, instr) { + t.Fatalf("instruction not removed: %q", cleaned) + } + } + } } func TestFindFirstInstructionInLine_EarliestWins(t *testing.T) { - // Both markers present, earliest should win (strict tag first) - line := ";first; // later" - instr, cleaned, ok := FindFirstInstructionInLine(line) - if !ok || instr != "first" { - t.Fatalf("expected 'first', got %q ok=%v", instr, ok) - } - if strings.Contains(cleaned, instr) { - t.Fatalf("expected cleaned line to remove instr: %q", cleaned) - } + // Both markers present, earliest should win (strict tag first) + line := ";first; // later" + instr, cleaned, ok := FindFirstInstructionInLine(line) + if !ok || instr != "first" { + t.Fatalf("expected 'first', got %q ok=%v", instr, ok) + } + if strings.Contains(cleaned, instr) { + t.Fatalf("expected cleaned line to remove instr: %q", cleaned) + } } func TestFindStrictInlineTag(t *testing.T) { - if txt, l, r, ok := FindStrictInlineTag("pre;do;post"); !ok || txt != "do" || l != 3 || r != 7 { - t.Fatalf("strict tag parse failed: %q %d %d %v", txt, l, r, ok) - } - if _, _, _, ok := FindStrictInlineTag("; spaced ;"); ok { - t.Fatalf("should reject spaced strict tag") - } + if txt, l, r, ok := FindStrictInlineTag("pre;do;post"); !ok || txt != "do" || l != 3 || r != 7 { + t.Fatalf("strict tag parse failed: %q %d %d %v", txt, l, r, ok) + } + if _, _, _, ok := FindStrictInlineTag("; spaced ;"); ok { + t.Fatalf("should reject spaced strict tag") + } } // optional: ensure no ANSI codes appear in plain helpers func TestNoANSIInHelpers(t *testing.T) { - ansi := regexp.MustCompile(`\x1b\[[0-9;]*m`) - if ansi.MatchString(RenderTemplate("x", nil)) { - t.Fatalf("unexpected ansi in RenderTemplate") - } - if ansi.MatchString(StripCodeFences("x")) { - t.Fatalf("unexpected ansi in StripCodeFences") - } + ansi := regexp.MustCompile(`\x1b\[[0-9;]*m`) + if ansi.MatchString(RenderTemplate("x", nil)) { + t.Fatalf("unexpected ansi in RenderTemplate") + } + if ansi.MatchString(StripCodeFences("x")) { + t.Fatalf("unexpected ansi in StripCodeFences") + } } diff --git a/internal/tmux/tmux.go b/internal/tmux/tmux.go index 63b5660..6d75a44 100644 --- a/internal/tmux/tmux.go +++ b/internal/tmux/tmux.go @@ -1,18 +1,20 @@ package tmux import ( - "os" - "os/exec" - "strconv" - "strings" + "os" + "os/exec" + "strconv" + "strings" ) // Available reports whether tmux is available and we appear to be in a tmux session. func Available() bool { return HasBinary() && InSession() } // HasBinary reports whether the tmux binary is on PATH. -var lookPath = exec.LookPath -var command = exec.Command +var ( + lookPath = exec.LookPath + command = exec.Command +) func HasBinary() bool { _, err := lookPath("tmux"); return err == nil } @@ -47,8 +49,8 @@ func SplitRun(opts SplitOpts, argv []string) error { // tmux takes a single command string. Use a conservative shell join. cmdStr := shellJoin(argv) args = append(args, cmdStr) - c := command("tmux", args...) - return c.Run() + c := command("tmux", args...) + return c.Run() } // shellJoin quotes argv elements for safe use in a single shell command string. diff --git a/internal/tmux/tmux_test.go b/internal/tmux/tmux_test.go index b18c8a3..4db2e4a 100644 --- a/internal/tmux/tmux_test.go +++ b/internal/tmux/tmux_test.go @@ -1,82 +1,85 @@ package tmux import ( - "errors" - "os" - "os/exec" - "testing" + "errors" + "os" + "os/exec" + "testing" ) func TestInSession(t *testing.T) { - t.Setenv("TMUX", "/tmp/tmux-123,123,0") - if !InSession() { - t.Fatal("expected InSession true when TMUX is set") - } - t.Setenv("TMUX", "") - if InSession() { - t.Fatal("expected InSession false when TMUX is empty") - } + t.Setenv("TMUX", "/tmp/tmux-123,123,0") + if !InSession() { + t.Fatal("expected InSession true when TMUX is set") + } + t.Setenv("TMUX", "") + if InSession() { + t.Fatal("expected InSession false when TMUX is empty") + } } func TestHasBinary_UsesLookPath(t *testing.T) { - old := lookPath - t.Cleanup(func() { lookPath = old }) - lookPath = func(file string) (string, error) { return "/bin/tmux", nil } - if !HasBinary() { - t.Fatal("expected HasBinary true when lookPath succeeds") - } - lookPath = func(file string) (string, error) { return "", errors.New("nope") } - if HasBinary() { - t.Fatal("expected HasBinary false when lookPath fails") - } + old := lookPath + t.Cleanup(func() { lookPath = old }) + lookPath = func(file string) (string, error) { return "/bin/tmux", nil } + if !HasBinary() { + t.Fatal("expected HasBinary true when lookPath succeeds") + } + lookPath = func(file string) (string, error) { return "", errors.New("nope") } + if HasBinary() { + t.Fatal("expected HasBinary false when lookPath fails") + } } func TestSplitRun_AssemblesArgs(t *testing.T) { - captured := struct{ name string; args []string }{} - oldCmd := command - t.Cleanup(func() { command = oldCmd }) - command = func(name string, args ...string) *exec.Cmd { - captured.name = name - captured.args = append([]string(nil), args...) - // Use a benign command that exits 0 - return exec.Command("true") - } - opts := SplitOpts{Target: ":.", Vertical: true, Percent: 40} - argv := []string{"/path/to/bin", "-flag", "value with spaces", "and'quote"} - if err := SplitRun(opts, argv); err != nil { - t.Fatalf("SplitRun error: %v", err) - } - if captured.name != "tmux" { - t.Fatalf("expected tmux, got %q", captured.name) - } - wantFlags := map[string]bool{"split-window": true, "-v": true, "-p": true, "40": true, "-t": true, ":.": true} - for _, a := range captured.args[:len(captured.args)-1] { - if wantFlags[a] { - delete(wantFlags, a) - } - } - if len(wantFlags) != 0 { - t.Fatalf("missing expected flags: %v", wantFlags) - } - last := captured.args[len(captured.args)-1] - if last == "" || last == argv[0] { - t.Fatalf("expected last arg to be joined command string, got %q", last) - } - _ = os.Unsetenv("TMUX") + captured := struct { + name string + args []string + }{} + oldCmd := command + t.Cleanup(func() { command = oldCmd }) + command = func(name string, args ...string) *exec.Cmd { + captured.name = name + captured.args = append([]string(nil), args...) + // Use a benign command that exits 0 + return exec.Command("true") + } + opts := SplitOpts{Target: ":.", Vertical: true, Percent: 40} + argv := []string{"/path/to/bin", "-flag", "value with spaces", "and'quote"} + if err := SplitRun(opts, argv); err != nil { + t.Fatalf("SplitRun error: %v", err) + } + if captured.name != "tmux" { + t.Fatalf("expected tmux, got %q", captured.name) + } + wantFlags := map[string]bool{"split-window": true, "-v": true, "-p": true, "40": true, "-t": true, ":.": true} + for _, a := range captured.args[:len(captured.args)-1] { + if wantFlags[a] { + delete(wantFlags, a) + } + } + if len(wantFlags) != 0 { + t.Fatalf("missing expected flags: %v", wantFlags) + } + last := captured.args[len(captured.args)-1] + if last == "" || last == argv[0] { + t.Fatalf("expected last arg to be joined command string, got %q", last) + } + _ = os.Unsetenv("TMUX") } func TestAvailable(t *testing.T) { - oldLook := lookPath - t.Cleanup(func() { lookPath = oldLook }) - // Present binary + TMUX set -> available - lookPath = func(file string) (string, error) { return "/bin/tmux", nil } - t.Setenv("TMUX", "/tmp/tmux-1,1,1") - if !Available() { - t.Fatal("expected Available true with TMUX + binary") - } - // No binary -> not available - lookPath = func(file string) (string, error) { return "", errors.New("nope") } - if Available() { - t.Fatal("expected Available false without binary") - } + oldLook := lookPath + t.Cleanup(func() { lookPath = oldLook }) + // Present binary + TMUX set -> available + lookPath = func(file string) (string, error) { return "/bin/tmux", nil } + t.Setenv("TMUX", "/tmp/tmux-1,1,1") + if !Available() { + t.Fatal("expected Available true with TMUX + binary") + } + // No binary -> not available + lookPath = func(file string) (string, error) { return "", errors.New("nope") } + if Available() { + t.Fatal("expected Available false without binary") + } } |
