improve the cm teardrop, scrolls, quality-of-life overhaul etc#1971
improve the cm teardrop, scrolls, quality-of-life overhaul etc#1971bajrangCoder merged 19 commits intoAcode-Foundation:mainfrom
Conversation
Greptile SummaryThis PR is a broad quality-of-life overhaul across the CodeMirror layer: it removes the custom teardrop cursor handles and replaces them with a lightweight context-menu-only touch controller, reworks indent guides to use CSS Confidence Score: 3/5Mostly safe with two P1 issues that could silently regress LSP init-options injection and document highlight rendering in edge cases. The majority of changes are well-structured refactors with clear improvements (rAF deferral, CSS guides, simplified touch menu). Two P1 logic issues remain: the connectClient requestInner patch may be removed before the async initialize request fires, and the document-highlights culling loop can skip visible highlights when unsorted. Both are silent failures with no crash, making them harder to catch in manual testing. src/cm/lsp/clientManager.ts (connectClient timing) and src/cm/lsp/documentHighlights.ts (unsorted highlights + multi-range culling) Important Files Changed
Sequence DiagramsequenceDiagram
participant EM as editorManager.js
participant LCM as LspClientManager
participant CC as connectClient()
participant LSP as LSPClient (lib)
participant SRV as LSP Server
EM->>LCM: startServer()
LCM->>LCM: await transportHandle.ready
LCM->>CC: connectClient(client, transport, initOpts)
Note over CC: patches requestInner
CC->>LSP: client.connect(transport)
alt initialize sent synchronously inside connect()
LSP->>CC: requestInner(initialize, params)
CC->>CC: merge initializationOptions
CC->>SRV: initialize with initOpts
else initialize sent asynchronously
LSP-->>CC: returns
CC->>CC: finally restores requestInner - patch removed too early
Note over SRV: initializationOptions never received
end
LCM->>LSP: await client.initializing
EM->>EM: scroll event
EM->>TouchMenu: onScrollStart()
TouchMenu->>TouchMenu: hideMenu()
EM->>EM: 100 ms debounce
EM->>TouchMenu: onScrollEnd()
TouchMenu->>TouchMenu: scheduleMenuShow() if selection
|
… into cm-improvements
No description provided.