SIGN IN SIGN UP

Refactor analysis to decouple I/O from core logic (#8426)

* Refactor analysis to decouple I/O from core logic

Splits `Commands.ml` into a pure layer that returns OCaml values
(option, list, typed records like Protocol.hover,
Protocol.signatureHelp, Protocol.completionItem) and a new
`analysis/src/Cli.ml` that does the stringify-and-print step.
`analysis/bin/main.ml` now dispatches to `Cli.*`, while the LSP server
consumes `Commands.*` directly.

Makes the parsers accept source strings: `res_driver` gains
`parse_interface_from_source` alongside the existing
`parse_implementation_from_source`

* Rename `tokenModifiersString` to `tokenModifiers` with correct type

* update CHANGELOG.md

* Fix format range to use accurate line/character positions

The previous implementation used the source byte length as both line and
character values for the end of the format range, which was incorrect.
Replace it with a helper that computes the actual final line index and
character offset by splitting on newlines.

Signed-Off-By: Your Name <email>

* Refactor token debugger to use typed input variant

---------

Signed-off-by: Your Name <email>
P
Pedro Castro committed
ecb1bbaf0a1da3b7a48563ace73965897e4b8ff8
Parent: de28ae6
Committed by GitHub <noreply@github.com> on 5/22/2026, 12:31:31 PM