ligo/tools/lsp
Kirill Andreev 1ed617c7d0
Convert parsers to applicative interface
Problem:  The aquisition of current range is manual, and therefore
          error-prone. The names in do-syntax create visual clutter.

Solution: Hide range aquisition (which makes it possible to do automatic
          comment aquisition as well).
2020-08-11 12:31:52 +04:00
..
camligo Initial commit of LIGO tooling 2020-08-11 12:31:49 +04:00
pascaligo Improve grammar, add Parsers for many things 2020-08-11 12:31:52 +04:00
squirrel Convert parsers to applicative interface 2020-08-11 12:31:52 +04:00
README.md Add README.md with install/run instructions 2020-08-11 12:31:49 +04:00

To compile and run, the following tools are needed:

  1. tree-sitter-clr (the Node.js one was usied during development)
  2. optionally, nix package manager
  3. haskell-stack

First, you need to generate the parser.c. For that, do

cd tools/lsp/pascaligo
tree-sitter generate

Then

cd ../squirrel
stack install

To use the executable, do

squirrel <filename>.ligo

At this stage of development, it first prints the dump of tree-sitter parse tree, then its attempts to build actual parse tree.