Function: vhdl-export-project
vhdl-export-project is an interactive and byte-compiled function
defined in vhdl-mode.el.gz.
Signature
(vhdl-export-project FILE-NAME)
Documentation
Write project setup for current project.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-export-project (file-name)
"Write project setup for current project."
(interactive
(let ((name (vhdl-resolve-env-variable
(vhdl-replace-string
(cons "\\(.*\\) \\(.*\\)" (car vhdl-project-file-name))
(concat (subst-char-in-string
? ?_ (or (vhdl-project-p)
(error "ERROR: No current project")))
" " (user-login-name))))))
(list (read-file-name
"Write project file: "
(when (file-name-absolute-p name) "") nil nil name))))
(setq file-name (abbreviate-file-name file-name))
(let ((orig-buffer (current-buffer)))
(unless (file-exists-p (file-name-directory file-name))
(make-directory (file-name-directory file-name) t))
(if (not (file-writable-p file-name))
(error "ERROR: File not writable: \"%s\"" file-name)
(set-buffer (find-file-noselect file-name t t))
(erase-buffer)
(insert ";; -*- Emacs-Lisp -*-\n\n"
";;; " (file-name-nondirectory file-name)
" - project setup file for Emacs VHDL Mode " vhdl-version "\n\n"
";; Project : " vhdl-project "\n"
";; Saved : " (format-time-string "%Y-%m-%d %T ")
(user-login-name) "\n\n\n"
";; project name\n"
"(setq vhdl-project \"" vhdl-project "\")\n\n"
";; project setup\n"
"(vhdl-aput 'vhdl-project-alist vhdl-project\n'")
(pp (vhdl-aget vhdl-project-alist vhdl-project) (current-buffer))
(insert ")\n")
(save-buffer)
(kill-buffer (current-buffer))
(set-buffer orig-buffer))))