def negotiate
import bolt@1.27.0.0/src/lsp/enc.bend as Encimport Base
import emerging-ezjson@1.2.0.0/main.bend as Ezjson
import emerging-ezjson@1.2.0.0/src/value.bend as J
53# the encoding initialize settles on: utf-32 when the client's
54# general.positionEncodings offers it, else UTF-16, LSP's default
55def negotiate(params: J.Json) -> Enc:
56 chosen(offers(cells(Ezjson.get(Ezjson.get(Ezjson.get(params, "capabilities"), "general"), "positionEncodings"))))