Skip to content

Commit

Permalink
complete
Browse files Browse the repository at this point in the history
  • Loading branch information
jcs090218 committed Aug 23, 2023
1 parent 3a5fff0 commit fef3b3c
Showing 1 changed file with 45 additions and 13 deletions.
58 changes: 45 additions & 13 deletions lisp/init/keg.el
Original file line number Diff line number Diff line change
Expand Up @@ -61,30 +61,62 @@ If no found the Keg file, returns nil."
(with-current-buffer (find-file new-filename)
(goto-char (point-min))

(dolist (source (alist-get 'sources contents))
(insert "(source '" (eask-2str source) ")\n"))
(insert "\n")
(let* ((project-name (file-name-nondirectory (directory-file-name default-directory)))
(package-name (read-string (format "\npackage name: (%s) " project-name) nil nil project-name))
(version (read-string "version: (1.0.0) " nil nil "1.0.0"))
(description (read-string "description: "))
(guess-entry-point (format "%s.el" project-name))
(entry-point (read-string (format "entry point: (%s) " guess-entry-point)
nil nil guess-entry-point))
(emacs-version (read-string "emacs version: (26.1) " nil nil "26.1"))
(website (read-string "website: "))
(keywords (read-string "keywords: "))
(keywords (split-string keywords "[, ]"))
(keywords (string-join keywords "\" \""))
(content (format
"(package \"%s\"
\"%s\"
\"%s\")
(website-url \"%s\")
(keywords \"%s\")
(package-file \"%s\")
(script \"test\" \"echo \\\"Error: no test specified\\\" && exit 1\")
"
package-name version description website keywords
entry-point)))
(insert content)

(when-let ((scripts (alist-get 'scripts contents)))
(dolist (script scripts)
(let* ((cmds (cadr script))
(_ (pop cmds))
(cmds (mapconcat #'identity cmds " ")))
(insert "(script \"" (eask-2str (car script))
"\" " (prin1-to-string cmds) ")\n"))))

(insert "\n")

(dolist (source (alist-get 'sources contents))
(insert "(source '" (eask-2str source) ")\n"))

(insert "\n")

(insert (format "(depends-on \"emacs\" \"%s\")\n" emacs-version)))

(when-let ((pkgs (alist-get 'packages contents)))
(dolist (pkg pkgs)
(insert "(depends-on \"" (eask-2str (car pkg)) "\")\n")))

(insert "\n")

(when-let ((devs (alist-get 'devs contents)))
(insert "(development\n")
(dolist (dev devs)
(insert " (depends-on \"" (eask-2str dev) "\")\n"))
(insert " )\n"))
(insert "\n")

(when-let ((scripts (alist-get 'scripts contents)))
(dolist (script scripts)
(let* ((cmds (cadr script))
(_ (pop cmds))
(cmds (mapconcat #'identity cmds " ")))
(insert "(script \"" (eask-2str (car script))
"\" " (prin1-to-string cmds) ")\n"))))
(insert "\n")

(save-buffer))
(setq converted t))))
Expand Down

0 comments on commit fef3b3c

Please sign in to comment.