Commit graph

28 commits

Author SHA1 Message Date
364b787578
build: replace luacheck with selene
Problem: luacheck is unmaintained (last release 2018) and required
suppressing four warning classes to avoid false positives. It also
lacks first-class vim/neovim awareness.

Solution: switch to selene with std='vim' for vim-aware linting.
Replace the luacheck CI job with selene, update the Makefile lint
target, and delete .luacheckrc.
2026-02-21 23:25:42 -05:00
Barrett Ruth
856716e6dc
feat: support vim.g.oil configuration + remove release-please (#17)
* feat: support vim.g.oil declarative configuration

Problem: oil.nvim requires an imperative require("oil").setup(opts)
call to initialize. The Neovim ecosystem is moving toward vim.g.plugin
as a declarative config source that works without explicit setup calls.

Solution: fall back to vim.g.oil in config.setup() when no opts are
passed, and add plugin/oil.lua to auto-initialize when vim.g.oil is
set. Explicit setup(opts) calls still take precedence. Update docs
and add tests for the new resolution order.

Closes: barrettruth/oil.nvim#1

* build: remove release-please pipeline

Problem: the release-please action creates automated releases that
are not needed for this fork's workflow.

Solution: remove the release job from tests.yml and the
release-please branch exclusion from the review request workflow.

* fix(doc): improve readme phrasing

* doc: minor phrasing "improvements"

* ci: add luarocks release on tag push

Problem: there is no automated way to publish oil.nvim to luarocks
when a new version is tagged.

Solution: add a luarocks workflow that triggers on v* tag pushes,
runs the test suite via workflow_call, then publishes via
luarocks-tag-release. Add workflow_call trigger to tests.yml so it
can be reused.
2026-02-21 22:38:38 -05:00
Barrett Ruth
3b930636e3
docs: centralize documentation into helpdoc (#15)
* docs: centralize documentation into helpdoc

Problem: documentation was spread across four files (README.md,
doc/oil.txt, doc/api.md, doc/recipes.md) with duplication and gaps.
User events were undocumented, and adapter docs only lived in the
README.

Solution: expand doc/oil.txt with five new sections (introduction,
requirements, adapters, recipes, events) from existing content. Trim
README to a landing page pointing to :help oil. Delete doc/api.md
and doc/recipes.md since their content now lives in the helpdoc.

Closes: barrettruth/oil.nvim#6

* build: remove docgen pipeline

Problem: the Python docgen pipeline (scripts/generate.py,
scripts/main.py, nvim_doc_tools) was designed for upstream's doc
layout and is incompatible with the centralized helpdoc structure.
It overwrites doc/oil.txt entirely and expects sections in README.md
that no longer exist.

Solution: delete the pipeline scripts (generate.py, main.py,
requirements.txt), remove the update_docs CI job, and clean up the
Makefile and .gitignore references. Linting and typechecking remain
unchanged.
2026-02-21 22:15:53 -05:00
Barrett Ruth
1712b6feb3
docs: upstream tracking in README + daily PR mirror (#13)
* docs: replace changelog with upstream divergence table in README

Problem: fork changes were not documented anywhere user-facing. The
auto-generated CHANGELOG.md tracked upstream releases, not fork
divergence.

Solution: delete CHANGELOG.md and add a collapsed <details> block to
README.md with two tables — cherry-picked PRs (by number, with commit
hashes) and triaged upstream issues (by number, with status and
resolution). This gives users a single place to see what the fork
offers over upstream.

* ci: add daily upstream PR mirror workflow

Problem: new upstream PRs required manual monitoring of
stevearc/oil.nvim to discover.

Solution: add a GitHub Actions workflow that runs daily at 08:00 UTC
and creates issues in the fork for any upstream PRs opened in the last
24 hours. Skips dependabot PRs and deduplicates by title prefix.
Issues are labeled upstream/pr for easy filtering.
2026-02-21 15:53:53 -05:00
034dce7f78
ci: request review from fork owner instead of upstream maintainer 2026-02-21 02:20:07 -05:00
bb128e96af
ci: replace docgen push with staleness check
Problem: the docgen workflow pushed directly to main, which is blocked
by repository rulesets. No token-based push from GitHub Actions can
bypass ruleset rules on personal repos.

Solution: replace the push step with a git diff --exit-code check that
fails if generated docs are out of date. Docs must now be committed by
the developer via make doc. Also regenerates docs to reflect batch 4
changes (close_float, OilFileIcon, OilExecutableHidden, recipe link).
2026-02-20 21:16:17 -05:00
60aed7d595
ci: use PUSH_TOKEN for docgen push to bypass branch rules
Problem: the docgen workflow pushes to main using GITHUB_TOKEN, which
authenticates as github-actions[bot]. The bot cannot bypass repository
rulesets on personal repos, so the push is rejected by required PR,
status check, and signature rules.

Solution: prefer a PUSH_TOKEN secret (a PAT authenticated as the repo
admin, who has bypass permissions) with fallback to GITHUB_TOKEN so
the workflow does not break before the secret is created.
2026-02-20 20:35:07 -05:00
42af6caf0a ci: rename default branch from master to main
Problem: the fork used master as the default branch name.

Solution: rename to main and update all CI workflow triggers,
ref checks, and the pre-push hook fallback.
2026-02-20 16:32:53 -05:00
Steven Arcangeli
81b8a91735 cleanup: remove deprecated trash_command 2026-01-01 00:22:58 -05:00
Steven Arcangeli
302bbaceea ci: run tests against nvim 0.11 2025-03-30 21:58:22 -07:00
Steven Arcangeli
20baf82747 ci: update nvim install script for new appimage name 2025-02-11 17:42:06 -08:00
Steven Arcangeli
a3fc6623fa lint: upgrade to stylua v2.0.2 2025-01-24 22:54:50 -08:00
Steven Arcangeli
15e071f203 ci: typechecking no longer requires neodev 2024-06-01 16:38:11 -07:00
Steven Arcangeli
9e3a02252d ci: remove package-name from release-please config 2024-05-16 12:24:19 -07:00
Steven Arcangeli
6f452e8d47 ci: upgrade release-please-action to v4 2024-05-16 12:16:00 -07:00
Steven Arcangeli
27d9f37161 ci: run tests against Neovim v0.10.0 2024-05-16 11:09:15 -07:00
Steven Arcangeli
8a2de6ada2 ci: update stylua version to v0.20.0 2024-05-16 10:46:45 -07:00
Steven Arcangeli
2edb43a7ec ci: update checkout action 2024-04-23 19:21:02 -07:00
Steven Arcangeli
8bc37bac29 ci: github workflow automation 2024-01-14 12:47:34 -08:00
Steven Arcangeli
2baf36d74f ci: run tests against nvim 0.9.4 2023-11-14 22:47:30 -08:00
Steven Arcangeli
650aa1916f ci: use stylua 0.18.2 2023-10-08 23:01:24 -07:00
Steven Arcangeli
ca2560cae8 ci: merge workflow jobs and add makefile 2023-09-02 08:48:11 -07:00
Steven Arcangeli
ebf9337b32 ci: run type check in actions 2023-08-13 08:08:51 -07:00
Steven Arcangeli
23b1611ca6 ci: use release-please to tag releases 2023-06-27 12:57:43 -07:00
Steven Arcangeli
873ea3b85d ci: run tests on newer nvim versions 2023-04-21 22:17:18 -07:00
Steven Arcangeli
5bdee20d5d refactor: stop checking in doc/tags 2023-04-21 22:16:31 -07:00
Steven Arcangeli
ca4da68aae feat: builtin support for editing files over ssh (#27) 2023-01-18 10:25:22 -08:00
Steven Arcangeli
fefd6ad5e4 feat: first draft 2023-01-02 01:34:53 -08:00