diff options
| author | Paul Buetow <paul@buetow.org> | 2025-09-08 12:02:40 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-09-08 12:02:40 +0300 |
| commit | 75cf6abd55bfb60324fc47cf91eac08dbb8b87b4 (patch) | |
| tree | 6ef90d8014fe4d9a757d3f7e95bf736b70e4c685 /docs | |
| parent | 0dcf347c3fbc6e4ffb7e46294f5dd92dbbcd98ef (diff) | |
docs: move tmux documentation to its own file
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/configuration.md | 19 | ||||
| -rw-r--r-- | docs/coverage.html | 89 | ||||
| -rw-r--r-- | docs/coverage.out | 10580 | ||||
| -rw-r--r-- | docs/helix-tmux-quickstart.md | 68 | ||||
| -rw-r--r-- | docs/tmux.md | 109 |
5 files changed, 5537 insertions, 5328 deletions
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/inte |
