|% :: +$ versioned-doc-id [uri=@t version=(unit @)] :: ++ request |% +$ all $% text-document--hover text-document--completion unknown == +$ text-document--hover [%text-document--hover id=cord position versioned-doc-id] +$ text-document--completion [%text-document--completion id=cord position versioned-doc-id] +$ unknown [%unknown json] -- ++ response |% +$ all $% text-document--hover text-document--completion == +$ text-document--hover [%text-document--hover id=cord contents=(unit @t)] +$ text-document--completion [%text-document--completion id=cord completion=(list completion-item)] -- :: +$ completion-item $: label=cord kind=@ud detail=cord doc=cord insert-text=cord insert-text-format=@ud == :: +$ diagnostic [=range severity=@ud message=@t] :: +$ position [row=@ud col=@ud] :: +$ text-document-item [uri=@t version=(unit @) text=@t] :: ++ notification |% :: +$ in $% text-document--did-change text-document--did-open text-document--did-save text-document--did-close exit unknown == :: +$ out $% text-document--publish-diagnostics == :: +$ all $% out in == :: +$ text-document--did-change [%text-document--did-change versioned-doc-id changes=(list change)] :: +$ text-document--did-open [%text-document--did-open text-document-item] :: +$ text-document--did-save [%text-document--did-save versioned-doc-id] :: +$ text-document--did-close [%text-document--did-close versioned-doc-id] :: +$ exit [%exit ~] :: +$ unknown [%unknown =json] :: +$ text-document--publish-diagnostics [%text-document--publish-diagnostics uri=@t diagnostics=(list diagnostic)] :: -- :: +$ change $: range=(unit range) range-length=(unit @ud) text=@t == :: +$ range $: start=position end=position == :: --