From 0142d46688d7846b702aeae6a8d82ee045d60b2f Mon Sep 17 00:00:00 2001 From: Erik Charlebois Date: Mon, 22 Feb 2010 20:17:49 -0800 Subject: [PATCH] Add scaffolding for platforms.txt, add option to fuel-scaffold-vocab --- basis/tools/scaffold/scaffold.factor | 3 +++ extra/fuel/fuel.factor | 4 ++++ misc/fuel/fuel-scaffold.el | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor index fee37496c8..9e1d08e352 100644 --- a/basis/tools/scaffold/scaffold.factor +++ b/basis/tools/scaffold/scaffold.factor @@ -267,6 +267,9 @@ PRIVATE> : scaffold-summary ( vocab summary -- ) [ "summary.txt" ] dip scaffold-metadata ; +: scaffold-platforms ( vocab platforms -- ) + [ "platforms.txt" ] dip scaffold-metadata ; + : scaffold-vocab ( vocab-root string -- ) { [ scaffold-directory ] diff --git a/extra/fuel/fuel.factor b/extra/fuel/fuel.factor index 2934d5d43c..9d47bf8cc4 100644 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@ -162,6 +162,10 @@ PRIVATE> [ scaffold-summary ] [ drop [ vocab-summary-path ] keep swap vocab-append-path absolute-path fuel-eval-set-result ] 2bi ; +: fuel-scaffold-platforms ( name platforms -- ) + [ scaffold-platforms ] + [ drop [ vocab-platforms-path ] keep swap vocab-append-path absolute-path fuel-eval-set-result ] 2bi ; + : fuel-scaffold-get-root ( name -- ) find-vocab-root fuel-eval-set-result ; ! Remote connection diff --git a/misc/fuel/fuel-scaffold.el b/misc/fuel/fuel-scaffold.el index dc2a09713d..0078300fd1 100644 --- a/misc/fuel/fuel-scaffold.el +++ b/misc/fuel/fuel-scaffold.el @@ -96,6 +96,10 @@ IN: %s (let ((cmd `(:fuel* (,vocab ,summary fuel-scaffold-summary) "fuel"))) (fuel-eval--send/wait cmd))) +(defsubst fuel-scaffold--create-platforms (vocab platforms) + (let ((cmd `(:fuel* (,vocab ,platforms fuel-scaffold-platforms) "fuel"))) + (fuel-eval--send/wait cmd))) + (defun fuel-scaffold--help (parent) (when (and parent (fuel-scaffold--check-auto fuel-scaffold-help-autoinsert-p)) (let* ((ret (fuel-scaffold--create-docs (fuel-scaffold--vocab parent))) @@ -131,6 +135,7 @@ You can configure `fuel-scaffold-developer-name' (set by default to nil t (or root-hint "resource:"))) (summary (read-string "Vocab summary (empty for none): ")) (tags (read-string "Vocab tags (empty for none): ")) + (platforms (read-string "Vocab platforms (empty for all): ")) (help (y-or-n-p "Scaffold help? ")) (tests (y-or-n-p "Scaffold tests? ")) (cmd `(:fuel* ((,root ,name ,fuel-scaffold-developer-name) @@ -143,6 +148,8 @@ You can configure `fuel-scaffold-developer-name' (set by default to (fuel-scaffold--create-summary name summary)) (when (not (equal "" tags)) (fuel-scaffold--create-tags name tags)) + (when (not (equal "" platforms)) + (fuel-scaffold--create-platforms name platforms)) (when help (fuel-scaffold--create-docs name)) (when tests @@ -221,6 +228,18 @@ You can configure `fuel-scaffold-developer-name' (set by default to (error "Error creating summary file" (car (fuel-eval--retort-error ret)))) (find-file file))) +(defun fuel-scaffold-platforms (&optional arg) + "Creates, if it does not already exist, a platforms file for the current vocabulary." + (interactive "P") + (let* ((vocab (or (and (not arg ) (fuel-syntax--current-vocab)) + (fuel-completion--read-vocab nil))) + (platforms (read-string "Platforms: ")) + (ret (fuel-scaffold--create-platforms vocab platforms)) + (file (fuel-eval--retort-result ret))) + (unless file + (error "Error creating platforms file" (car (fuel-eval--retort-error ret)))) + (find-file file))) + (provide 'fuel-scaffold) ;;; fuel-scaffold.el ends here