From 439ebb14fa6fb43bfda2e0ee6811c37f96b15ecc Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 26 Sep 2025 08:07:35 +0300 Subject: Skip chat handling for inline prompts --- docs/coverage.html | 96 +- docs/coverage.out | 6880 ++++++++++++++++++++++++++-------------------------- 2 files changed, 3506 insertions(+), 3470 deletions(-) (limited to 'docs') diff --git a/docs/coverage.html b/docs/coverage.html index 686f831..a1db0c8 100644 --- a/docs/coverage.html +++ b/docs/coverage.html @@ -111,7 +111,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -5693,9 +5693,13 @@ func (s *Server) detectAndHandleChat(uri string) { return } suffix, prefixes, _ := s.chatConfig() + _, _, openChar, closeChar := s.inlineMarkers() for i, raw := range d.lines { + if lineHasInlinePrompt(raw, openChar, closeChar) { + continue + } // Find last non-space character index - j := len(raw) - 1 + j := len(raw) - 1 for j >= 0 { if raw[j] == ' ' || raw[j] == '\t' { j-- @@ -6234,11 +6238,11 @@ func (s *Server) chatWithStats(ctx context.Context, msgs []llm.Message, opts ... // Inline prompt utilities -func lineHasInlinePrompt(line string, open, close byte) bool { +func lineHasInlinePrompt(line string, open, close byte) bool { if _, _, _, ok := findStrictInlineTag(line, open, close); ok { return true } - return hasDoubleOpenTrigger(line, open, close) + return hasDoubleOpenTrigger(line, open, close) } func leadingIndent(line string) string { @@ -6278,17 +6282,17 @@ func applyIndent(indent, suggestion string) string // findStrictInlineTag finds >text> (configurable), with no space after the first // opening marker and no space immediately before the closing marker. Returns the // text between markers, the start index, the end index just after closing, and ok. -func findStrictInlineTag(line string, open, close byte) (string, int, int, bool) { +func findStrictInlineTag(line string, open, close byte) (string, int, int, bool) { pos := 0 - for pos < len(line) { + for pos < len(line) { // find opening marker j := strings.IndexByte(line[pos:], open) - if j < 0 { + if j < 0 { return "", 0, 0, false } - j += pos + j += pos // ensure single open (not double) and non-space after - if j+1 >= len(line) || line[j+1] == open || line[j+1] == ' ' { + if j+1 >= len(line) || line[j+1] == open || line[j+1] == ' ' { pos = j + 1 continue } @@ -6310,7 +6314,7 @@ func findStrictInlineTag(line string, open, close byte) (string, int, int, bool) end := closeIdx + 1 return inner, j, end, true } - return "", 0, 0, false + return "", 0, 0, false } // isBareDoubleSemicolon reports whether the line contains a standalone @@ -6498,13 +6502,13 @@ func promptRemovalEditsForLine(line string, lineNum int, open, close byte) []Tex return collectSemicolonMarkers(line, lineNum, open, close) } -func hasDoubleOpenTrigger(line string, open, close byte) bool { +func hasDoubleOpenTrigger(line string, open, close byte) bool { pos := 0 - for pos < len(line) { + for pos < len(line) { // look for double-open sequence dbl := string([]byte{open, open}) j := strings.Index(line[pos:], dbl) - if j < 0 { + if j < 0 { return false } j += pos @@ -6529,7 +6533,7 @@ func hasDoubleOpenTrigger(line string, open, close byte) bool return true } - return false + return false } func collectSemicolonMarkers(line string, lineNum int, open, close byte) []TextEdit { @@ -6774,11 +6778,11 @@ func (s *Server) currentLLMClient() llm.Client { return s.llmClient } -func (s *Server) currentConfig() appconfig.App { - if s.configStore != nil { +func (s *Server) currentConfig() appconfig.App { + if s.configStore != nil { return s.configStore.Snapshot() } - s.mu.RLock() + s.mu.RLock() defer s.mu.RUnlock() return s.cfg } @@ -6848,25 +6852,25 @@ func (s *Server) completionThrottle() time.Duration return time.Duration(cfg.CompletionThrottleMs) * time.Millisecond } -func (s *Server) inlineMarkers() (open string, close string, openChar byte, closeChar byte) { +func (s *Server) inlineMarkers() (open string, close string, openChar byte, closeChar byte) { cfg := s.currentConfig() open = strings.TrimSpace(cfg.InlineOpen) - if open == "" { + if open == "" { open = ">" } - close = strings.TrimSpace(cfg.InlineClose) - if close == "" { + close = strings.TrimSpace(cfg.InlineClose) + if close == "" { close = ">" } - openChar = '>' - if len(open) > 0 { + openChar = '>' + if len(open) > 0 { openChar = open[0] } - closeChar = '>' - if len(close) > 0 { + closeChar = '>' + if len(close) > 0 { closeChar = close[0] } - return open, close, openChar, closeChar + return open, close, openChar, closeChar } func (s *Server) chatConfig() (suffix string, prefixes []string, suffixChar byte) { @@ -7051,7 +7055,7 @@ func New(cfg appconfig.App) *Store { } // Snapshot returns the current configuration snapshot. Callers must treat it as read-only. -func (s *Store) Snapshot() appconfig.App { +func (s *Store) Snapshot() appconfig.App { s.mu.RLock() defer s.mu.RUnlock() return s.cfg @@ -7220,9 +7224,9 @@ import ( "golang.org/x/sys/unix" ) -func tryLockFile(fd uintptr) error { - if err := unix.Flock(int(fd), unix.LOCK_EX|unix.LOCK_NB); err != nil { - if errors.Is(err, unix.EWOULDBLOCK) { +func tryLockFile(fd uintptr) error { + if err := unix.Flock(int(fd), unix.LOCK_EX|unix.LOCK_NB); err != nil { + if errors.Is(err, unix.EWOULDBLOCK) { return errLockWouldBlock } return err @@ -7390,30 +7394,30 @@ func Update(ctx context.Context, provider, model string, sentBytes, recvBytes in func acquireFileLock(ctx context.Context, f *os.File) (func() error, error) { fd := f.Fd() - for { + for { err := tryLockFile(fd) if err == nil { return func() error { return unlockFile(fd) }, nil } - if errors.Is(err, errLockWouldBlock) { + if errors.Is(err, errLockWouldBlock) { select { case <-ctx.Done(): return nil, ctx.Err() - case <-time.After(5 * time.Millisecond): + case <-time.After(5 * time.Millisecond): } - continue + continue } return nil, err } } // Snapshot reads and aggregates events within the configured window. -func TakeSnapshot() (Snapshot, error) { +func TakeSnapshot() (Snapshot, error) { dir, err := CacheDir() if err != nil { return Snapshot{}, err } - path := filepath.Join(dir, fileName) + path := filepath.Join(dir, fileName) b, err := os.ReadFile(path) if err != nil { if errors.Is(err, os.ErrNotExist) { @@ -7421,30 +7425,30 @@ func TakeSnapshot() (Snapshot, error) { } return Snapshot{}, err } - var sf File + var sf File if err := json.Unmarshal(b, &sf); err != nil { return Snapshot{}, err } - win := time.Duration(sf.WindowSeconds) * time.Second + win := time.Duration(sf.WindowSeconds) * time.Second if win <= 0 { win = Window() - } else { + } else { SetWindow(win) // align process with file window if changed elsewhere } - cutoff := time.Now().Add(-win) + cutoff := time.Now().Add(-win) snap := Snapshot{Providers: make(map[string]ProviderEntry), Window: win} - for _, ev := range sf.Events { + for _, ev := range sf.Events { if ev.TS.Before(cutoff) { continue } - snap.Global.Reqs++ + snap.Global.Reqs++ snap.Global.Sent += ev.Sent snap.Global.Recv += ev.Recv pe := snap.Providers[ev.Provider] if pe.Models == nil { pe.Models = make(map[string]Counters) } - pe.Totals.Reqs++ + pe.Totals.Reqs++ pe.Totals.Sent += ev.Sent pe.Totals.Recv += ev.Recv mc := pe.Models[ev.Model] @@ -7454,11 +7458,11 @@ func TakeSnapshot() (Snapshot, error) { pe.Models[ev.Model] = mc snap.Providers[ev.Provider] = pe } - mins := win.Minutes() + mins := win.Minutes() if mins <= 0 { mins = 0.001 } - snap.RPM = float64(snap.Global.Reqs) / mins + snap.RPM = float64(snap.Global.Reqs) / mins return snap, nil } diff --git a/docs/coverage.out b/docs/coverage.out index 5cbda3d..278ee5d 100644 --- a/docs/coverage.out +++ b/docs/coverage.out @@ -1578,92 +1578,94 @@ codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:76.43,79.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:80.2,80.27 1 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:88.50,90.35 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:90.35,92.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:93.2,94.30 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:94.30,97.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:97.14,98.39 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:98.39,100.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:102.4,102.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:104.3,104.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:104.12,105.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.3,108.19 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.19,109.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.3,111.31 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.31,112.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:114.3,117.19 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.19,118.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.3,122.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:122.17,124.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:124.13,125.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:127.4,129.33 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:129.33,130.20 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:130.20,132.11 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:135.4,135.14 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:135.14,136.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:140.3,141.63 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:141.63,143.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,144.80 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.80,145.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:147.3,149.66 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:149.66,151.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.17,153.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:154.4,154.10 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.3,156.34 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.34,157.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:159.3,159.38 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:159.38,167.21 7 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:167.21,169.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:170.4,172.18 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:172.18,175.5 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:176.4,177.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:177.17,179.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:180.4,180.61 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:183.3,183.8 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:189.110,191.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:191.14,193.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:195.2,206.54 8 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:211.96,213.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:213.14,215.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:216.2,219.31 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:219.31,220.53 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.53,222.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.3,223.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.12,224.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.3,226.61 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.61,227.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:229.3,230.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.14,232.36 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:232.36,235.13 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:237.4,237.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.3,239.53 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.53,241.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:242.3,242.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:242.12,243.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:245.3,248.6 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:250.2,251.26 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:251.26,252.35 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:252.35,254.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.3,255.35 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.35,257.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.2,260.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.57,266.20 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:266.20,268.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:269.2,270.74 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:270.74,272.31 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:272.31,273.18 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.18,275.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:278.2,279.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:280.21,281.54 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:282.10,283.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:291.91,302.102 7 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:302.102,305.38 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:305.38,307.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:308.3,308.66 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:311.2,312.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:316.68,323.2 6 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:326.46,333.2 6 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:336.61,351.2 9 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:355.59,356.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:356.12,359.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:93.2,95.30 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:95.30,96.52 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:96.52,97.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:100.3,101.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:101.14,102.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:102.39,104.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:106.4,106.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.3,108.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.12,109.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:112.3,112.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:112.19,113.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:115.3,115.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:115.31,116.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:118.3,121.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.19,122.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.3,126.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:126.17,128.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:128.13,129.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:131.4,133.33 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:133.33,134.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:134.20,136.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:139.4,139.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:139.14,140.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,145.63 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:145.63,147.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.3,148.80 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.80,149.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.3,153.66 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:153.66,155.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:155.17,157.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:158.4,158.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:160.3,160.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:160.34,161.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:163.3,163.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:163.38,171.21 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:171.21,173.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:174.4,176.18 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:176.18,179.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:180.4,181.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:181.17,183.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:184.4,184.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:187.3,187.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:193.110,195.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:195.14,197.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:199.2,210.54 8 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:215.96,217.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.14,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.2,223.31 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.31,224.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:224.53,226.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:227.3,227.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:227.12,228.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.3,230.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.61,231.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.3,234.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:234.14,236.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.36,239.13 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:241.4,241.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:243.3,243.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:243.53,245.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.3,246.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.12,247.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.3,252.6 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:254.2,255.26 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.26,256.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:256.35,258.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.3,259.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.35,261.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:263.2,264.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:268.57,270.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:270.20,272.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.2,274.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:274.74,276.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:276.31,277.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:277.18,279.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:282.2,283.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:284.21,285.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:286.10,287.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:295.91,306.102 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:306.102,309.38 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:309.38,311.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:312.3,312.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:315.2,316.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:320.68,327.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:330.46,337.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:340.61,355.2 9 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:359.59,360.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:360.12,363.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:8.52,10.55 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:10.55,13.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:14.2,14.19 1 0 @@ -2291,8 +2293,8 @@ codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.104,24.3 1 0 -codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 1 -codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 1 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:12.13,25.107 9 0 @@ -2633,30 +2635,30 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:1048.61,1051.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:1053.2,1053.10 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:1053.10,1055.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:1056.2,1056.13 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.14 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:14.14,16.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:17.2,17.14 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.14 2 3 +codeberg.org/snonux/hexai/internal/editor/editor.go:14.14,16.3 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:17.2,17.14 1 3 codeberg.org/snonux/hexai/internal/editor/editor.go:17.14,19.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:20.2,20.16 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:20.2,20.16 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.16 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.16 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:38.16,40.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:42.2,44.16 3 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:42.2,44.16 3 1 codeberg.org/snonux/hexai/internal/editor/editor.go:44.16,46.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:47.2,48.15 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:48.15,48.38 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.2,49.22 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.22,50.45 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:47.2,48.15 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:48.15,48.38 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.2,49.22 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.22,50.45 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:50.45,53.4 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:55.2,55.33 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:55.2,55.33 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:55.33,58.3 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:59.2,59.34 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:59.2,59.34 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:59.34,61.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:62.2,62.44 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:62.2,62.44 1 1 codeberg.org/snonux/hexai/internal/editor/editor.go:62.44,64.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:65.2,66.16 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:65.2,66.16 2 1 codeberg.org/snonux/hexai/internal/editor/editor.go:66.16,68.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:69.2,69.42 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:69.2,69.42 1 1 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.18 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.18,30.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.2,32.90 1 0 @@ -3866,92 +3868,94 @@ codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:76.43,79.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:80.2,80.27 1 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:88.50,90.35 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:90.35,92.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:93.2,94.30 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:94.30,97.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:97.14,98.39 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:98.39,100.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:102.4,102.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:104.3,104.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:104.12,105.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.3,108.19 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.19,109.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.3,111.31 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.31,112.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:114.3,117.19 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.19,118.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.3,122.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:122.17,124.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:124.13,125.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:127.4,129.33 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:129.33,130.20 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:130.20,132.11 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:135.4,135.14 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:135.14,136.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:140.3,141.63 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:141.63,143.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,144.80 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.80,145.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:147.3,149.66 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:149.66,151.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.17,153.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:154.4,154.10 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.3,156.34 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.34,157.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:159.3,159.38 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:159.38,167.21 7 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:167.21,169.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:170.4,172.18 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:172.18,175.5 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:176.4,177.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:177.17,179.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:180.4,180.61 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:183.3,183.8 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:189.110,191.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:191.14,193.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:195.2,206.54 8 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:211.96,213.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:213.14,215.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:216.2,219.31 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:219.31,220.53 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.53,222.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.3,223.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.12,224.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.3,226.61 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.61,227.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:229.3,230.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.14,232.36 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:232.36,235.13 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:237.4,237.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.3,239.53 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.53,241.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:242.3,242.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:242.12,243.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:245.3,248.6 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:250.2,251.26 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:251.26,252.35 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:252.35,254.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.3,255.35 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.35,257.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.2,260.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.57,266.20 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:266.20,268.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:269.2,270.74 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:270.74,272.31 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:272.31,273.18 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.18,275.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:278.2,279.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:280.21,281.54 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:282.10,283.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:291.91,302.102 7 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:302.102,305.38 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:305.38,307.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:308.3,308.66 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:311.2,312.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:316.68,323.2 6 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:326.46,333.2 6 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:336.61,351.2 9 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:355.59,356.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:356.12,359.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:93.2,95.30 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:95.30,96.52 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:96.52,97.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:100.3,101.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:101.14,102.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:102.39,104.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:106.4,106.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.3,108.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.12,109.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:112.3,112.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:112.19,113.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:115.3,115.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:115.31,116.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:118.3,121.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.19,122.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.3,126.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:126.17,128.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:128.13,129.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:131.4,133.33 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:133.33,134.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:134.20,136.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:139.4,139.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:139.14,140.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,145.63 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:145.63,147.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.3,148.80 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.80,149.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.3,153.66 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:153.66,155.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:155.17,157.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:158.4,158.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:160.3,160.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:160.34,161.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:163.3,163.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:163.38,171.21 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:171.21,173.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:174.4,176.18 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:176.18,179.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:180.4,181.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:181.17,183.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:184.4,184.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:187.3,187.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:193.110,195.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:195.14,197.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:199.2,210.54 8 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:215.96,217.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.14,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.2,223.31 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.31,224.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:224.53,226.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:227.3,227.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:227.12,228.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.3,230.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.61,231.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.3,234.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:234.14,236.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.36,239.13 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:241.4,241.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:243.3,243.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:243.53,245.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.3,246.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.12,247.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.3,252.6 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:254.2,255.26 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.26,256.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:256.35,258.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.3,259.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.35,261.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:263.2,264.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:268.57,270.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:270.20,272.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.2,274.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:274.74,276.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:276.31,277.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:277.18,279.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:282.2,283.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:284.21,285.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:286.10,287.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:295.91,306.102 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:306.102,309.38 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:309.38,311.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:312.3,312.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:315.2,316.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:320.68,327.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:330.46,337.2 6 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:340.61,355.2 9 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:359.59,360.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:360.12,363.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:8.52,10.55 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:10.55,13.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_execute.go:14.2,14.19 1 0 @@ -4577,8 +4581,8 @@ codeberg.org/snonux/hexai/cmd/hexai/main.go:14.13,17.18 3 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:17.18,20.3 2 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.2,22.104 1 0 codeberg.org/snonux/hexai/cmd/hexai/main.go:22.104,24.3 1 0 -codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 0 -codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 0 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:13.13,17.18 4 1 +codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:17.18,20.3 2 1 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.2,22.79 1 0 codeberg.org/snonux/hexai/cmd/hexai-lsp/main.go:22.79,24.3 1 0 codeberg.org/snonux/hexai/cmd/hexai-tmux-action/main.go:12.13,25.107 9 0 @@ -4919,30 +4923,30 @@ codeberg.org/snonux/hexai/internal/appconfig/config.go:1048.61,1051.3 2 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:1053.2,1053.10 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:1053.10,1055.3 1 0 codeberg.org/snonux/hexai/internal/appconfig/config.go:1056.2,1056.13 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.14 2 3 -codeberg.org/snonux/hexai/internal/editor/editor.go:14.14,16.3 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:17.2,17.14 1 3 +codeberg.org/snonux/hexai/internal/editor/editor.go:12.32,14.14 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:14.14,16.3 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:17.2,17.14 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:17.14,19.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:20.2,20.16 1 3 +codeberg.org/snonux/hexai/internal/editor/editor.go:20.2,20.16 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.16 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:36.54,38.16 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:38.16,40.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:42.2,44.16 3 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:42.2,44.16 3 0 codeberg.org/snonux/hexai/internal/editor/editor.go:44.16,46.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:47.2,48.15 2 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:48.15,48.38 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.2,49.22 1 1 -codeberg.org/snonux/hexai/internal/editor/editor.go:49.22,50.45 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:47.2,48.15 2 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:48.15,48.38 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.2,49.22 1 0 +codeberg.org/snonux/hexai/internal/editor/editor.go:49.22,50.45 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:50.45,53.4 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:55.2,55.33 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:55.2,55.33 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:55.33,58.3 2 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:59.2,59.34 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:59.2,59.34 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:59.34,61.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:62.2,62.44 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:62.2,62.44 1 0 codeberg.org/snonux/hexai/internal/editor/editor.go:62.44,64.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:65.2,66.16 2 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:65.2,66.16 2 0 codeberg.org/snonux/hexai/internal/editor/editor.go:66.16,68.3 1 0 -codeberg.org/snonux/hexai/internal/editor/editor.go:69.2,69.42 1 1 +codeberg.org/snonux/hexai/internal/editor/editor.go:69.2,69.42 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:27.101,28.18 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:28.18,30.3 1 0 codeberg.org/snonux/hexai/internal/hexaiaction/cmdentry.go:32.2,32.90 1 0 @@ -6152,92 +6156,94 @@ codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:76.43,79.3 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:80.2,80.27 1 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:88.50,90.35 2 0 codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:90.35,92.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:93.2,94.30 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:94.30,97.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:97.14,98.39 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:98.39,100.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:102.4,102.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:104.3,104.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:104.12,105.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.3,108.19 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.19,109.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.3,111.31 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:111.31,112.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:114.3,117.19 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:117.19,118.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.3,122.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:122.17,124.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:124.13,125.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:127.4,129.33 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:129.33,130.20 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:130.20,132.11 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:135.4,135.14 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:135.14,136.13 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:140.3,141.63 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:141.63,143.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,144.80 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.80,145.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:147.3,149.66 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:149.66,151.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.17,153.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:154.4,154.10 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.3,156.34 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:156.34,157.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:159.3,159.38 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:159.38,167.21 7 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:167.21,169.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:170.4,172.18 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:172.18,175.5 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:176.4,177.17 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:177.17,179.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:180.4,180.61 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:183.3,183.8 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:189.110,191.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:191.14,193.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:195.2,206.54 8 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:211.96,213.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:213.14,215.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:216.2,219.31 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:219.31,220.53 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.53,222.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.3,223.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.12,224.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.3,226.61 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:226.61,227.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:229.3,230.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.14,232.36 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:232.36,235.13 3 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:237.4,237.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.3,239.53 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:239.53,241.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:242.3,242.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:242.12,243.9 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:245.3,248.6 4 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:250.2,251.26 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:251.26,252.35 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:252.35,254.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.3,255.35 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.35,257.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.2,260.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:264.57,266.20 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:266.20,268.3 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:269.2,270.74 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:270.74,272.31 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:272.31,273.18 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.18,275.5 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:278.2,279.14 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:280.21,281.54 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:282.10,283.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:291.91,302.102 7 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:302.102,305.38 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:305.38,307.4 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:308.3,308.66 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:311.2,312.13 2 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:316.68,323.2 6 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:326.46,333.2 6 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:336.61,351.2 9 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:355.59,356.12 1 0 -codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:356.12,359.3 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:93.2,95.30 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:95.30,96.52 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:96.52,97.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:100.3,101.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:101.14,102.39 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:102.39,104.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:106.4,106.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.3,108.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:108.12,109.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:112.3,112.19 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:112.19,113.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:115.3,115.31 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:115.31,116.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:118.3,121.19 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:121.19,122.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:125.3,126.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:126.17,128.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:128.13,129.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:131.4,133.33 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:133.33,134.20 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:134.20,136.11 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:139.4,139.14 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:139.14,140.13 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:144.3,145.63 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:145.63,147.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.3,148.80 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:148.80,149.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:151.3,153.66 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:153.66,155.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:155.17,157.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:158.4,158.10 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:160.3,160.34 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:160.34,161.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:163.3,163.38 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:163.38,171.21 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:171.21,173.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:174.4,176.18 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:176.18,179.5 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:180.4,181.17 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:181.17,183.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:184.4,184.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:187.3,187.8 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:193.110,195.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:195.14,197.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:199.2,210.54 8 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:215.96,217.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:217.14,219.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:220.2,223.31 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:223.31,224.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:224.53,226.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:227.3,227.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:227.12,228.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.3,230.61 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:230.61,231.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:233.3,234.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:234.14,236.36 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:236.36,239.13 3 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:241.4,241.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:243.3,243.53 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:243.53,245.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.3,246.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:246.12,247.9 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:249.3,252.6 4 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:254.2,255.26 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:255.26,256.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:256.35,258.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.3,259.35 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:259.35,261.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:263.2,264.13 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:268.57,270.20 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:270.20,272.3 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:273.2,274.74 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:274.74,276.31 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:276.31,277.18 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:277.18,279.5 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:282.2,283.14 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:284.21,285.54 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:286.10,287.12 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:295.91,306.102 7 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:306.102,309.38 2 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:309.38,311.4 1 0 +codeberg.org/snonux/hexai/internal/lsp/handlers_document.go:312.3,312.66 1 0 +codeberg.org/snonux/hexai/internal/lsp/han