{"id":15287843,"url":"https://github.com/daskol/nvim-bnf","last_synced_at":"2025-10-14T14:45:36.217Z","repository":{"id":65788715,"uuid":"176616693","full_name":"daskol/nvim-bnf","owner":"daskol","description":"NeoVim semantic syntax highlighting and completion plugin for BNF grammar","archived":false,"fork":false,"pushed_at":"2019-04-12T20:02:10.000Z","size":233,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-11T10:09:55.090Z","etag":null,"topics":["backus-naur-form","bnf","highlighting","neovim","nvim","remote-plugin","semantic-highlighting"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daskol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-19T23:52:28.000Z","updated_at":"2025-05-08T02:24:25.000Z","dependencies_parsed_at":"2023-02-10T04:45:26.813Z","dependency_job_id":null,"html_url":"https://github.com/daskol/nvim-bnf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/daskol/nvim-bnf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fnvim-bnf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fnvim-bnf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fnvim-bnf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fnvim-bnf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daskol","download_url":"https://codeload.github.com/daskol/nvim-bnf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daskol%2Fnvim-bnf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019161,"owners_count":26086685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backus-naur-form","bnf","highlighting","neovim","nvim","remote-plugin","semantic-highlighting"],"created_at":"2024-09-30T15:38:40.455Z","updated_at":"2025-10-14T14:45:36.197Z","avatar_url":"https://github.com/daskol.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nvim-BNF\n\n*NeoVim semantic syntax highlighting plugin for BNF grammar*\n\n## Overview\n\n**nvim-bnf** is a remote [NeoVim](https://github.com/neovim/neovim) plugin\nwhich provides both syntactical and semantical highlighting and autocompletion\nbased on [NCM2](https://github.com/ncm2/ncm2) for grammars written in\n[Backus-Naur form (BNF)][3]. The plugin is written in Golang and governs\nMsgPack RPC protocol according to NeoVim specification. So there is only a\nlittle hunk of code written in VimL which performs registration and\nbootstrapping the plugin.\n\n![Vim cast demo](doc/demo.gif \"nvim-bnf in action\")\n\n## Installation\n\nIn order to install one could use his or her favourite plugin manager like\n[Plug](https://github.com/junegunn/vim-plug). Surely, [Golang workspace][2]\nmust be set up before. It could look something like on the following code\nsnippet.\n\n```vim\n    call plug#begin('~/.config/nvim/plugged')\n        Plug 'daskol/nvim-bnf', { 'do': 'go install ./cmd/nvim-nbf' }\n    call plug#end()\n```\n\n## Development\n\nNeoVim requires [manifest][1] for remote plugins. There is no reason to write\nit manually since the plugin provides ability to generate manifest as follows.\n\n```bash\n    $ ./nvim-bnf --gen-manifest\n    call remote#host#RegisterPlugin('nvim-bnf', '0', [\n    \\ {'type': 'autocmd', 'name': 'BufNewFile', ... },\n    \\ {'type': 'autocmd', 'name': 'BufRead', ... },\n    \\ ])\n```\n\n[1]: https://neovim.io/doc/user/remote_plugin.html#remote-plugin-manifest\n[2]: https://golang.org/doc/code.html\n[3]: https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaskol%2Fnvim-bnf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaskol%2Fnvim-bnf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaskol%2Fnvim-bnf/lists"}