sqlite.lua ๐ซ
January 12, 2025 ยท View on GitHub
SQLite/LuaJIT binding and a highly opinionated wrapper for storing, retrieving, caching, and persisting SQLite databases. sqlite.lua present new possibilities for plugin development and while it's primarily created for neovim, it support all luajit environments.
โจ Features:
- Connect, reconnect, close sql db connections
sqlite:open/sql:close - Evaluate any sqlite statement and return result if any
sqlite:eval - Helper function over
sqlite:evalto do all sort of operation. - High level API with
sqlite.tblfor better experience. - lua tables deserialization/serialization (in helper functions and high level api)
- 90% test coverage.
- Up-to-date docs and changelog
๐ง Installation
Packer.nvim (Neovim)
use { "kkharji/sqlite.lua" }
luarocks (LuaJIT)
luarocks install sqlite luv
Ensure you have sqlite3 installed locally. (if you are on mac it might be installed already)
Windows
Download precompiled and set let g:sqlite_clib_path = path/to/sqlite3.dll (note: /)
Linux
sudo pacman -S sqlite # Arch
sudo apt-get install sqlite3 libsqlite3-dev # Ubuntu
sudo dnf install sqlite sqlite-devel # Fedora
Nix (home-manager)
programs.neovim.plugins = [
{
plugin = pkgs.vimPlugins.sqlite-lua;
config = "let g:sqlite_clib_path = '${pkgs.sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}'";
}
];
Notes:
- Ensure you install
pkgs.sqlite
๐ฅ Powered by sqlite.lua
- https://github.com/kkharji/impatient.nvim
- https://github.com/nvim-telescope/telescope-smart-history.nvim
- https://github.com/nvim-telescope/telescope-frecency.nvim
- https://github.com/kkharji/lispdocs.nvim
- https://github.com/nvim-telescope/telescope-cheat.nvim
- https://github.com/LintaoAmons/bookmarks.nvim