38 lines
936 B
Lua
38 lines
936 B
Lua
local M = {}
|
|
|
|
-- load abbreviations.dict
|
|
local function load_abbreviations()
|
|
-- load our dictionary string
|
|
local s = require("thethethe.dictionary")
|
|
|
|
-- split dictionary by lines
|
|
for line in s:gmatch("([^\n]*)\n?") do
|
|
-- split each line by the colon
|
|
local parts = {}
|
|
for part in line:gmatch("[^:]+") do
|
|
table.insert(parts, part)
|
|
end
|
|
|
|
if #parts == 2 and parts[1] and parts[2] then
|
|
-- Add abbreviation via `iabbrev` (through vim.cmd)
|
|
vim.cmd(string.format("iabbrev %s %s", parts[1], parts[2]))
|
|
end
|
|
end
|
|
end
|
|
|
|
-- create our exported setup() function
|
|
function M.setup(opts)
|
|
-- load our default configuration
|
|
local config = require("thethethe.config")
|
|
|
|
-- check for default overrides passed in
|
|
if opts then
|
|
config.delay_ms = opts.delay_ms or config.delay_ms
|
|
end
|
|
|
|
-- execute the function after config.delay_ms
|
|
vim.defer_fn(load_abbreviations, config.delay_ms)
|
|
end
|
|
|
|
return M
|