{"id":20676574,"url":"https://github.com/calebowens/nvim-bqn","last_synced_at":"2026-06-05T05:31:30.011Z","repository":{"id":129716727,"uuid":"578378289","full_name":"calebowens/nvim-bqn","owner":"calebowens","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-14T23:06:44.000Z","size":23,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T14:56:07.992Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/calebowens.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-14T23:05:28.000Z","updated_at":"2023-02-23T21:02:59.000Z","dependencies_parsed_at":"2023-03-30T05:50:39.467Z","dependency_job_id":null,"html_url":"https://github.com/calebowens/nvim-bqn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebowens%2Fnvim-bqn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebowens%2Fnvim-bqn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebowens%2Fnvim-bqn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebowens%2Fnvim-bqn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calebowens","download_url":"https://codeload.github.com/calebowens/nvim-bqn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242906378,"owners_count":20204825,"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","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":[],"created_at":"2024-11-16T21:13:03.137Z","updated_at":"2025-12-16T04:49:43.347Z","avatar_url":"https://github.com/calebowens.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nvim-bqn\n\nUse Neovim as a BQN repl.\n\n## Installation\n\nUse your favourite plugin manager (or install manually). My plugin manager of choice is [vim-plug](https://github.com/junegunn/vim-plug).\n```\ncall plug#begin('~/.config/nvim/plugged')\nPlug 'git@git.sr.ht:~detegr/nvim-bqn'\ncall plug#end()\n```\n\n## Configuration\n\nFor now, the plugin expects [CBQN](https://github.com/Dzaima/CBQN) as the interpreter to run. The inner workings of the plugin\ncall CBQN with `-p` flag.\n\nBy default, the plugin expects to find CBQN from path with a executable called `BQN`. This can be changed by\npointing a global variable `g:nvim_bqn` to a different executable.\n\n## Default keybinds\n\nBy default, enter evaluates a the file from the beginning to the line that the cursor is on. A selection (range) can be evaluated with enter too, and the range evaluation will only contain the lines that are in the range.\n\n- `\u003cleader\u003ebf` will evaluate every line of the file.\n- `\u003cleader\u003ebc` will remove the inline results from the cursor to the end of the file\n- `\u003cleader\u003ebc` with a range will remove the inline results within that range\n- `\u003cleader\u003ebC` will remove the inline results from the whole file\n- `\u003cleader\u003ebe` will run expression explainer for a line. Note that the explainer has only the context of the single line and variables may be uninitialized because of it.\n\n## File extensions are not detected and syntax highlighting is missing!\n\nThis plugin only provides the REPL-like functionality within the editor. For file extensions, syntax highlighting and keyboard maps, use the plugin from [mlochbaum/BQN](https://github.com/mlochbaum/BQN/tree/master/editors/vim).\n\n## Demo\n\n[![demo](https://asciinema.org/a/5Mj03OEez31CtY2817tDfHMm3.svg)](https://asciinema.org/a/5Mj03OEez31CtY2817tDfHMm3)\n\n## Bugs/caveats\n\nDue to Neovim's [bug](https://github.com/neovim/neovim/issues/16500), the last line of the buffer is problematic. The plugin works around this by moving the last line to the center of the window when that is evaluated. However, it is possible to navigate the editor so that the last line of the buffer has an evaluation result below it and the last line of the buffer is on the last line of the window. In this case, due to the bug, the line is not rendered properly.\n\nReading an evaluation result that spans below the bottom of the window can be tricky. The Vim scrolling movements `\u003cC-E\u003e` and `\u003cC-Y\u003e` are helpful in such situation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalebowens%2Fnvim-bqn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalebowens%2Fnvim-bqn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalebowens%2Fnvim-bqn/lists"}