refactor: inline config, simplify init to 14 lines
This commit is contained in:
2 files changed
+9
-37
No files matched your search
@@ -1,6 +0,0 @@
|
|||||||
local M = {}
|
|
||||||
|
|
||||||
-- Time (milliseconds) to wait before loading abbreviations
|
|
||||||
M.delay_ms = 2000
|
|
||||||
|
|
||||||
return M
|
|
||||||
+9
-31
@@ -1,37 +1,15 @@
|
|||||||
local M = {}
|
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)
|
function M.setup(opts)
|
||||||
-- load our default configuration
|
opts = opts or {}
|
||||||
local config = require("thethethe.config")
|
vim.defer_fn(function()
|
||||||
|
for line in require("thethethe.dictionary"):gmatch("[^\n]+") do
|
||||||
-- check for default overrides passed in
|
local typo, fix = line:match("^([^:]+):(.+)$")
|
||||||
if opts then
|
if typo and fix then
|
||||||
config.delay_ms = opts.delay_ms or config.delay_ms
|
vim.cmd.iabbrev(typo, fix)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
-- execute the function after config.delay_ms
|
end, opts.delay_ms or 2000)
|
||||||
vim.defer_fn(load_abbreviations, config.delay_ms)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
Reference in new issue
Block a user