irongit

A Neovim plugin enabling you to solve LeetCode problems.

refactor(hooks)!: rename hooks

kawreauthored
parent 910bff9commit f10ef2414ac4bd557df1f40e8807fa5c394bb1dcBrowse files

6 files changed, +17 -15

+4-4README.md
@@ -133,10 +133,10 @@ To see full configuration types see [template.lua](./lua/leetcode/config/templat
133133
134134 hooks = {
135135 ---@type fun()[]
136- LeetEnter = {},
136+ ["enter"] = {},
137137
138138 ---@type fun(question: lc.ui.Question)[]
139- LeetQuestionNew = {},
139+ ["question_enter"] = {},
140140 },
141141
142142 keys = {
@@ -258,10 +258,10 @@ List of functions that get executed on specified event
258258 ```lua
259259 hooks = {
260260 ---@type fun()[]
261- LeetEnter = {},
261+ ["enter"] = {},
262262
263263 ---@type fun(question: lc.ui.Question)[]
264- LeetQuestionNew = {},
264+ ["question_enter"] = {},
265265 },
266266 ```
267267
+4-4README.zh.md
@@ -135,10 +135,10 @@ https://github.com/kawre/leetcode.nvim/assets/69250723/aee6584c-e099-4409-b114-1
135135
136136 hooks = {
137137 ---@type fun()[]
138- LeetEnter = {},
138+ ["enter"] = {},
139139
140140 ---@type fun(question: lc.ui.Question)[]
141- LeetQuestionNew = {},
141+ ["question_enter"] = {},
142142 },
143143
144144 keys = {
@@ -260,10 +260,10 @@ injector = { ---@type table<lc.lang, lc.inject>
260260 ```lua
261261 hooks = {
262262 ---@type fun()[]
263- LeetEnter = {},
263+ ["enter"] = {},
264264
265265 ---@type fun(question: lc.ui.Question)[]
266- LeetQuestionNew = {},
266+ ["question_enter"] = {},
267267 },
268268 ```
269269
+2-2lua/leetcode-ui/question.lua
@@ -133,7 +133,7 @@ function Question:handle_mount()
133133 self.console = Console(self)
134134 self.info = Info(self)
135135
136- utils.exec_hook("LeetQuestionNew", self)
136+ utils.exec_hook("question_enter", self)
137137
138138 return self
139139 end
@@ -209,7 +209,7 @@ Question.change_lang = vim.schedule_wrap(function(self, lang)
209209
210210 self.bufnr = new_bufnr
211211 if bufloaded == 0 then --
212- utils.exec_hook("LeetQuestionNew", self)
212+ utils.exec_hook("question_enter", self)
213213 end
214214 else
215215 log.error("Changing language failed")
+1-1lua/leetcode.lua
@@ -58,7 +58,7 @@ function leetcode.start(on_vimenter)
5858 Menu():mount()
5959
6060 local utils = require("leetcode.utils")
61- utils.exec_hook("LeetEnter")
61+ utils.exec_hook("enter")
6262
6363 return true
6464 end
+4-4lua/leetcode/config/template.lua
@@ -21,8 +21,8 @@
2121 ---| "bash"
2222
2323 ---@alias lc.hook
24----| "LeetEnter"
25----| "LeetQuestionNew"
24+---| "enter"
25+---| "question_enter"
2626
2727 ---@alias lc.size
2828 ---| string
@@ -99,10 +99,10 @@ local M = {
9999
100100 hooks = {
101101 ---@type fun()[]
102- LeetEnter = {},
102+ ["enter"] = {},
103103
104104 ---@type fun(question: lc.ui.Question)[]
105- LeetQuestionNew = {},
105+ ["question_open"] = {},
106106 },
107107
108108 keys = {
+2-0lua/leetcode/utils.lua
@@ -76,6 +76,8 @@ function utils.exec_hook(event, ...)
7676 local fns = config.user.hooks[event]
7777 if not fns then log.error("unknown hook event: " .. event) end
7878
79+ if type(fns) == "function" then fns = { fns } end
80+
7981 for i, fn in ipairs(fns) do
8082 local ok, msg = pcall(vim.schedule_wrap(fn), ...)
8183 if not ok then log.error(("bad hook #%d in `%s` event: %s"):format(i, event, msg)) end