semantic icon indicating copy to clipboard operation
semantic copied to clipboard

Proof of concept of "side channel" for diagnostics

Open alanz opened this issue 4 years ago • 0 comments

Replaces ReaderC with StateC in Unmarshal, and checks for diagnostics at each visited node, kept in the state.

The diagnostic determination is dodgy, but the concept works

See https://gist.github.com/alanz/2ae23a75bba75ed09780d3fa043bd28e

Note: haskell-tree-sitter is a git dep, it needs a "git submodule update" in the appropriate "dist-newstyle/src" directory.

Related issues: #574 #638 .

Alternative approaches are to extend the query capabilities, as requested in https://github.com/tree-sitter/tree-sitter/issues/606

The ts_node_has_error and ts_node_is_missing_p calls are not the right ones, the detailed info comes from the logic in https://github.com/tree-sitter/tree-sitter/blob/2b0de9dfec62af7e74c319abe80912b02dca74be/lib/src/subtree.c#L846-L894

and

https://github.com/tree-sitter/tree-sitter/blob/2b0de9dfec62af7e74c319abe80912b02dca74be/lib/src/language.c#L67-L80

alanz avatar Feb 02 '21 23:02 alanz