Lua development utilities for Neovim.
All functions are lazy load.
- lazy.nvim
{"niuiic/omega.nvim", build = "cd rs && cargo build --release"}
Run current lua file with require("omega").dofile(vim.api.nvim_buf_get_name(0))
. This function would unload deps of the file before running it, thus you can check the real-time update of the file without restart neovim.
It's recommended to do unit test with this function and builtin assert
. Check lua/omega/exist_in_file.test.lua
for an example.
name | type | desc |
---|---|---|
dofile | fun(file_path: string) | dofile without cache |
exist_in_file | fun(text: string, path: string): boolean | check if text exists in file |
get_selected_area | fun(): omega.Area | get selected area |
get_selection | fun(): string[] | nil | get selected text, get cursor expr in normal mode |
to_normal_mode | fun() | enter normal mode |
get_timestamp | fun(time?: string): number | get a millisecond-level timestamp, time format should be like '2022-01-01 00:00:00' |
get_human_readable_duration | fun(start_time: number, end_time: number): string | get a human-readable duration between two millisecond-level timestamps |
get_chars | fun(str: string): string[] | get chars from a string, work for any transformation format |
name | usage |
---|---|
vim.fn.isdirectory | check if path is a directory |
vim.uv.fs_stat | check if path exist |
vim.fs.root | find root directory |
vim.system | spawn a command |
vim.iter | lua list operation |
vim.fs.joinpath | concat path |