Skip to content

General Refactor + Interactive Recipe Editor#20

Merged
4jamesccraven merged 7 commits into
nextfrom
recipe-editor
Apr 16, 2026
Merged

General Refactor + Interactive Recipe Editor#20
4jamesccraven merged 7 commits into
nextfrom
recipe-editor

Conversation

@4jamesccraven
Copy link
Copy Markdown
Owner

@4jamesccraven 4jamesccraven commented Apr 13, 2026

Interactive recipe editing + several enhancements and refactors to recipe logic.

Recipe Editor

  • Change the name, description, and contents of a recipe interactively with mk edit
  • Get LSP support for the contents of a recipe's files by invoking $EDITOR while editing them.

General Refactor

  • Recipes are now made "canonical" before saving. This entails copying the recipe to a temporary directory and creating a new representation based on that directory (using the typical imprint machinery).
  • Common logic such as instantiating recipe(s), verifying their existence, and getting their location on disk have been extracted into standalone functions to unify behaviour.
  • Functionality has been added to detect if a recipe is externally managed (i.e., is a symlink from something like home-manager or gnu stow).

@4jamesccraven 4jamesccraven added the enhancement New feature or request label Apr 13, 2026
@4jamesccraven 4jamesccraven self-assigned this Apr 13, 2026
@4jamesccraven 4jamesccraven force-pushed the recipe-editor branch 2 times, most recently from 875f56d to a74abe7 Compare April 16, 2026 11:40
Rename/refactor several other functions as well.
@4jamesccraven 4jamesccraven changed the title Recipe editor General Refactor + Interactive Recipe Editor Apr 16, 2026
@4jamesccraven 4jamesccraven marked this pull request as ready for review April 16, 2026 15:06
@4jamesccraven 4jamesccraven merged commit d998e35 into next Apr 16, 2026
1 check passed
@4jamesccraven 4jamesccraven deleted the recipe-editor branch April 16, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant