Awesome
sqlite.lua 💫
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:eval
to do all sort of operation. - High level API with
sqlite.tbl
for 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.so'";
}
];
Notes:
- Ensure you install
pkgs.sqlite
- If you are using home-manager on OSX, you must replace
libsqlite3.so
withlibsqlite3.dylib