{"id":18928788,"url":"https://github.com/samsze0/utils.nvim","last_synced_at":"2026-03-15T23:30:20.953Z","repository":{"id":239862227,"uuid":"800810870","full_name":"samsze0/utils.nvim","owner":"samsze0","description":"An unopinionated set of utility functions for neovim plugins","archived":false,"fork":false,"pushed_at":"2024-09-22T11:38:15.000Z","size":148,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T19:17:22.914Z","etag":null,"topics":["lua","neovim","neovim-plugin"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/samsze0.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":"2024-05-15T03:34:24.000Z","updated_at":"2024-09-22T11:38:19.000Z","dependencies_parsed_at":"2024-05-21T05:35:29.722Z","dependency_job_id":"eac5a256-edb2-4c6d-9c11-f8825a6285ae","html_url":"https://github.com/samsze0/utils.nvim","commit_stats":null,"previous_names":["samsze0/samsze0-utils.nvim"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samsze0%2Futils.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samsze0%2Futils.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samsze0%2Futils.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samsze0%2Futils.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samsze0","download_url":"https://codeload.github.com/samsze0/utils.nvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239923921,"owners_count":19719225,"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","neovim","neovim-plugin"],"created_at":"2024-11-08T11:27:47.918Z","updated_at":"2026-03-15T23:30:20.856Z","avatar_url":"https://github.com/samsze0.png","language":"Lua","readme":"# utils.nvim\n\nAn unopinionated set of utility functions for neovim plugins\n\nThe goal of this plugin is to work with existing neovim libraries/plugins to provide a more complete set of utility functions.\n\nA sub-goal of this library is to provide an intuitive wrapper interface over the neovim API. All utilities in this plugin are typed by the [lua-language-server's standard](https://github.com/LuaLS/lua-language-server/wiki/Annotations).\n\n## Usage\n\n[lazy.nvim](https://github.com/folke/lazy.nvim)\n\n```lua\n{\n  \"samsze0/utils.nvim\",\n  dependencies = {\n    \"nvim-neotest/nvim-nio\",\n    \"pysan3/pathlib.nvim\"\n  }\n}\n```\n\n## TODO\n\n- Add `vim.system` wrapper\n- Add `oop` module\n- Add `vim.wait` wrapper\n- Add `vim.stricmp` wrapper\n- Remove `base64` module and force downstream use `vim.base64`\n- Wrap `vim.json`\n- Wrap `vim.diff`\n- Add `highlight` module\n- Remove `uv` module and replace with nvim-nio (if possible)\n- Wrap `vim.spell`\n- Wrap `vim.inspect_pos` and `vim.show_pos`\n- Perhaps update `nullish` impl by leveraging `vim.defaulttable` or `vim.tbl_get`\n- Perhaps remove `is_array` and just use `vim.array` or `vim.list` instead\n- Wrap `vim.list_contains`, `vim.list_extend`, `vim.list_slice`, `vim.tbl_contains`, `vim.tbl_count`, `vim.tbl_filter`, `vim.tbl_keys`, `vim.tbl_map`, `vim.tbl_values`\n- Add `schema` module by leveraging `vim.validate`\n- Wrap `vim.loader`\n- Wrap `vim.iter` and perhaps advise the usage of `vim.iter` over table utils\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamsze0%2Futils.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamsze0%2Futils.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamsze0%2Futils.nvim/lists"}