1DOLLY 32MODULE neovim-parsers34REQUIRES TOOL cmake5REQUIRES TOOL cc6REQUIRES TOOL make7REQUIRES TOOL slop8REQUIRES TOOL tar9REQUIRES TOOL rm10REQUIRES TOOL nvim11REQUIRES TOOL timeout1213# Neovim's pinned grammars and its own CMake build recipes, all built in Dolly.14SOURCE HOST /static/neovim/parsers.tar /tmp/neovim-parsers/source.tar 18656076f67f0cb39a68cbe1c6f628c35faf23e2ec207f914e97874a9cf323f715SLOP tar -xf /tmp/neovim-parsers/source.tar -C /16FILE /tmp/neovim-parsers/build.slop17    set -ex18    for language in c lua vim vimdoc query markdown; do19      cmake -S /tmp/neovim-parsers/$language -B /tmp/neovim-parsers/$language/build \20        -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-O0 -DPARSERLANG=$language21      cmake --build /tmp/neovim-parsers/$language/build22      cmake --install /tmp/neovim-parsers/$language/build23    done24SLOP slop /tmp/neovim-parsers/build.slop2526FILE /tmp/neovim-parsers/check.lua27    for language, source in pairs({28      c = "int main(void) { return 0; }",29      lua = "return 42",30      vim = "echo 'Dolly'\n",31      vimdoc = "Dolly\n\n",32      query = "(identifier) @name",33      markdown = "# Dolly\n",34      markdown_inline = "**Dolly**",35    }) do36      local parser = vim.treesitter.get_string_parser(source, language)37      local tree = assert(parser:parse()[1])38      assert(not tree:root():has_error(), language .. ": " .. tree:root():sexpr())39    end40    vim.cmd("quit!")41SLOP timeout 30 nvim --clean --headless -l /tmp/neovim-parsers/check.lua4243EXPORTS FOLDER nvim-parsers /usr/lib/nvim/parser44EXPORTS FOLDER nvim-parser-licenses /usr/share/licenses/neovim-parsers45SLOP rm -rf /tmp/neovim-parsers46