generated from eblume/project-template
infra(nvim): add stylua formatter + prek hook; normalize heph.nvim Lua
A `.stylua.toml` (Spaces/2, else stylua defaults) + a `stylua-system` prek hook make Lua whitespace formatter-enforced (the repo had no Lua formatter, so style was hand-maintained and drifted). Normalized the three non-conformant files in passing. 21 nvim e2e specs still green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0e9cfc1fd7
commit
d85ce3362f
6 changed files with 26 additions and 17 deletions
5
.stylua.toml
Normal file
5
.stylua.toml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Opinionated Lua formatting for heph.nvim, enforced via prek's stylua hook.
|
||||
# Spaces/2 matches the existing plugin style; everything else is stylua's
|
||||
# defaults (the formatter is the source of truth — don't hand-format).
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
|
|
@ -1 +1,2 @@
|
|||
- Lua is now formatted by **stylua** (a `.stylua.toml` + a `stylua-system` prek hook), so heph.nvim's whitespace is enforced by an opinionated formatter rather than by hand.
|
||||
- `mise run import-todoist` — a one-way importer that seeds a heph store from your Todoist projects + active tasks (project hierarchy, priority→attention, do-dates, natural-language recurrence, descriptions + sub-tasks as context items). Dry-run by default; `-- --commit` writes into your real store after backing it up. See [[import-todoist]].
|
||||
|
|
|
|||
|
|
@ -30,10 +30,7 @@ function M.setup(opts)
|
|||
rpc.call("health", {})
|
||||
end)
|
||||
if not ok then
|
||||
require("heph.util").notify(
|
||||
"no hephd at " .. cfg.socket .. " — run `heph daemon start`",
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
require("heph.util").notify("no hephd at " .. cfg.socket .. " — run `heph daemon start`", vim.log.levels.WARN)
|
||||
end
|
||||
|
||||
config.apply_keymaps(cfg)
|
||||
|
|
|
|||
|
|
@ -34,10 +34,7 @@ describe("task capture to done", function()
|
|||
vim.api.nvim_win_set_cursor(0, { 2, 0 })
|
||||
require("heph.view").open_under_cursor()
|
||||
local ctxbuf = vim.api.nvim_get_current_buf()
|
||||
assert.are.equal(
|
||||
"heph://node/" .. ranked[1].canonical_context_id,
|
||||
vim.api.nvim_buf_get_name(ctxbuf)
|
||||
)
|
||||
assert.are.equal("heph://node/" .. ranked[1].canonical_context_id, vim.api.nvim_buf_get_name(ctxbuf))
|
||||
|
||||
-- Add a checklist item and save.
|
||||
vim.api.nvim_buf_set_lines(ctxbuf, 0, -1, false, { "- [ ] buy shingles" })
|
||||
|
|
|
|||
|
|
@ -79,11 +79,16 @@ end
|
|||
--- tests of the no-daemon-running case). `rm` removes it.
|
||||
function M.tmp()
|
||||
local dir = unique_dir()
|
||||
return { dir = dir, sock = dir .. "/s", db = dir .. "/db", rm = function()
|
||||
pcall(function()
|
||||
vim.fn.delete(dir, "rf")
|
||||
end)
|
||||
end }
|
||||
return {
|
||||
dir = dir,
|
||||
sock = dir .. "/s",
|
||||
db = dir .. "/db",
|
||||
rm = function()
|
||||
pcall(function()
|
||||
vim.fn.delete(dir, "rf")
|
||||
end)
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
--- Start a daemon on explicit paths and bind the plugin's rpc to it. Returns a
|
||||
|
|
@ -91,10 +96,7 @@ end
|
|||
function M.start_on(dir, sock, db)
|
||||
assert(#sock < 104, "socket path too long for sun_path: " .. sock)
|
||||
local bin = M.hephd_bin()
|
||||
assert(
|
||||
vim.fn.executable(bin) == 1,
|
||||
"hephd not built/executable: " .. bin .. " (run: cargo build -p hephd)"
|
||||
)
|
||||
assert(vim.fn.executable(bin) == 1, "hephd not built/executable: " .. bin .. " (run: cargo build -p hephd)")
|
||||
|
||||
local exited = { done = false }
|
||||
local d = spawn({
|
||||
|
|
|
|||
|
|
@ -76,6 +76,13 @@ repo = "https://github.com/rbubley/mirrors-prettier"
|
|||
rev = "v3.8.1"
|
||||
hooks = [{ id = "prettier", types_or = ["json"], args = ["--tab-width", "2"] }]
|
||||
|
||||
# Lua formatting (heph.nvim) - stylua, configured by .stylua.toml. Uses the
|
||||
# system binary (installed locally; CI runs Rust/nvim suites via Dagger, not prek).
|
||||
[[repos]]
|
||||
repo = "https://github.com/JohnnyMorganz/StyLua"
|
||||
rev = "v2.4.1"
|
||||
hooks = [{ id = "stylua-system" }]
|
||||
|
||||
# GitHub/Forgejo Actions workflow linting
|
||||
[[repos]]
|
||||
repo = "https://github.com/rhysd/actionlint"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue