{"id":13478153,"url":"https://github.com/willothy/nvim-utils","last_synced_at":"2025-03-27T07:30:50.702Z","repository":{"id":70612528,"uuid":"604546707","full_name":"willothy/nvim-utils","owner":"willothy","description":"Utilities and bindings for writing Neovim plugins in Rust","archived":true,"fork":false,"pushed_at":"2023-07-13T08:24:47.000Z","size":62,"stargazers_count":79,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-28T07:33:43.278Z","etag":null,"topics":["lua-bindings","neovim","neovim-plugins","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/nvim-utils","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willothy.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}},"created_at":"2023-02-21T09:39:35.000Z","updated_at":"2025-01-15T20:36:25.000Z","dependencies_parsed_at":"2024-01-16T06:28:52.508Z","dependency_job_id":null,"html_url":"https://github.com/willothy/nvim-utils","commit_stats":{"total_commits":44,"total_committers":3,"mean_commits":"14.666666666666666","dds":"0.045454545454545414","last_synced_commit":"4bf7d32d936cead82f5dec01c41afa472e9168b4"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willothy%2Fnvim-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willothy%2Fnvim-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willothy%2Fnvim-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willothy%2Fnvim-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willothy","download_url":"https://codeload.github.com/willothy/nvim-utils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245802253,"owners_count":20674621,"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":["lua-bindings","neovim","neovim-plugins","rust"],"created_at":"2024-07-31T16:01:53.191Z","updated_at":"2025-03-27T07:30:49.260Z","avatar_url":"https://github.com/willothy.png","language":"Rust","readme":"# Nvim-Utils: Utilities for writing Neovim plugins in Rust\n\n[![DeepSource](https://deepsource.io/gh/willothy/nvim-utils.svg/?label=active+issues\u0026show_trend=true\u0026token=Z6ZpietODcwGH8IaieqJ7Z60)](https://deepsource.io/gh/willothy/nvim-utils/?ref=repository-badge)\n[![DeepSource](https://deepsource.io/gh/willothy/nvim-utils.svg/?label=resolved+issues\u0026show_trend=true\u0026token=Z6ZpietODcwGH8IaieqJ7Z60)](https://deepsource.io/gh/willothy/nvim-utils/?ref=repository-badge)\n\nInteracting with Neovim's lua api in Rust can be a bit of a pain. `nvim-utils` aims to make it easier and quicker to develop Neovim plugins in Rust by removing as much of the required boilerplate as possible, and implementing bindings for the `vim.*` lua api.\n\n\u003e **Warning**  \n\u003e This library is no longer maintained.   \n\u003e For a more polished API, check out [nvim-oxi](https://github.com/noib3/nvim-oxi).   \n\n## Current plans\n\n- Integrate with the Luajit and Neovim C APIs directly\n- Minimize dependencies\n\n## Installation\n\n```sh\ncargo add nvim-utils\n```\n\n## Features\n\n`nvim-utils` provides utilities for:\n\n- Declaratively building lua modules using `mlua`\n- Interacting with Neovim's lua api\n- Logging using `vim.notify`\n- Accessing common lua builtin functions like `require` and `print`\n- And more to come!\n\n## Documentation\n\nCheck out the examples for a simple example plugin, or my plugins [moveline](https://github.com/willothy/moveline.nvim) and [blam](https://github.com/willothy/blam.nvim) for slightly more complex ones.\n\nOpen [docs.rs/nvim-utils](https://docs.rs/nvim-utils) for the full documentation.\n\n## Plugins using nvim-utils\n\nIf you build a plugin using `nvim-utils`, submit a PR or let me know and I'll list it here!\n\n- [willothy/moveline.nvim](https://github.com/willothy/moveline.nvim): Easily move lines up and down\n\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillothy%2Fnvim-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillothy%2Fnvim-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillothy%2Fnvim-utils/lists"}