diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2020-08-15 18:12:37 +0200 |
|---|---|---|
| committer | Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> | 2020-08-25 14:58:28 +0200 |
| commit | 7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c (patch) | |
| tree | 623cf66b0138176bda22cfa97a9ff92353cd6053 /scripts | |
| parent | fix(locals): add nil guard for definition id creation (diff) | |
| download | nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.tar nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.tar.gz nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.tar.bz2 nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.tar.lz nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.tar.xz nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.tar.zst nvim-treesitter-7c9ffe9e190cd954dc56fac74d5bf80448cb4b8c.zip | |
Fix #292: Add parser links to README.md
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/update-readme.lua | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/update-readme.lua b/scripts/update-readme.lua new file mode 100755 index 000000000..8cc91f86d --- /dev/null +++ b/scripts/update-readme.lua @@ -0,0 +1,38 @@ +-- Execute as `nvim --headless -c "luafile ./scripts/update-readme.lua"` +local parsers = require 'nvim-treesitter.parsers'.get_parser_configs() +local sorted_parsers = {} + +for k, v in pairs(parsers) do + table.insert(sorted_parsers, {name = k, parser = v}) +end + +table.sort(sorted_parsers, function(a, b) return a.name < b.name end) + +local generated_text = '' + +for _, v in ipairs(sorted_parsers) do + local link = '['..(v.parser.readme_name or v.name)..']('..v.parser.install_info.url..')' + + if v.parser.maintainers then + generated_text = generated_text.. + '- [x] '..link..' (maintained by '..table.concat(v.parser.maintainers, ', ')..')\n' + else + generated_text = generated_text.. + '- [ ] '..link..'\n' + end +end + +print(generated_text) +print("\n") + +local readme_text = table.concat(vim.fn.readfile('README.md'), '\n') + +local new_readme_text = string.gsub(readme_text, "<!%-%-parserinfo%-%->.*<!%-%-parserinfo%-%->", + "<!--parserinfo-->\n"..generated_text.."<!--parserinfo-->") +vim.fn.writefile(vim.fn.split(new_readme_text, '\n'), "README.md") + +if string.find(readme_text, generated_text, 1, 'plain') then + vim.cmd('q') +else + vim.cmd('cq') +end |
