You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Group shipped resources under etc/ and split Elisp sources by
package, with each directory's role encoded in its name:
lisp/ ghostel package sources
extensions/ independent evil-ghostel package
src/ Zig native module sources (unchanged)
vendor/ third-party headers (was include/)
etc/terminfo/ bundled compiled terminfo tree (was terminfo/)
etc/shell/ghostel.{bash,fish,zsh}
real shell-integration logic (was etc/)
etc/shell/bootstrap/{bash,fish,zsh}/...
env-hook shims for local auto-injection
(was etc/shell-integration/)
Motivation and user-visible consequences:
* Publishing the two Elisp packages as independent MELPA recipes
(`ghostel' and `evil-ghostel') means `package-vc-install ghostel'
no longer pulls `evil' in as a transitive dependency of a
same-directory scan, and users can install one without the other.
* Drop the obsolete `ghostel-evil' compatibility shim that was
deprecated in 0.13.0. Callers must `(require 'evil-ghostel)'
directly and install the evil-ghostel package separately.
* Users who source ghostel's shell rc files manually from their
own shell configuration must update the path: `etc/ghostel.<ext>'
→ `etc/shell/ghostel.<ext>'.
Implementation notes:
* Add `ghostel--resource-root' helper that resolves the package
root in both install layouts: dev / package-vc-install (where
lisp/ sits beside etc/ and vendor/) and MELPA-style flat install
(where :files flattens everything to the package root). All
resource paths (native module, terminfo, shell-integration, and
EMACS_GHOSTEL_PATH) now route through the helper.
* Update the three bootstrap scripts' chain-source paths and the
rc files' manual-source comments to match.
* Rewrite the MELPA recipe in melpazoid.yml and the Makefile
`melpazoid-ghostel' target to `(:defaults "etc" "src" "vendor"
"build.zig" "build.zig.zon" "symbols.map")' — ships the Zig
sources too so M-x ghostel-module-compile works post-install.
* Split `melpazoid' into per-package targets so evil-ghostel is
also verified as its own installable unit.
* Update the Makefile byte-compile / test / lint load paths, the
CI workflows' -L flags, and bench/run-bench.sh to point at the
new lisp/ and extensions/ dirs.
* Update the fish auto-inject regression test and the README's
shell-integration and terminfo sections to match.
0 commit comments