Function: vhdl-port-reverse-direction

vhdl-port-reverse-direction is an interactive and byte-compiled function defined in vhdl-mode.el.gz.

Signature

(vhdl-port-reverse-direction)

Documentation

Reverse direction for all ports (useful in testbenches).

This operation is performed on an internally stored port and is only reflected in a subsequent paste operation.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-port-reverse-direction ()
  "Reverse direction for all ports (useful in testbenches).
This operation is performed on an internally stored port and is only
reflected in a subsequent paste operation."
  (interactive)
  (if (not vhdl-port-list)
      (error "ERROR:  No port has been read")
    (message "Reversing port directions for next paste...")
    (let ((port-list (nth 2 vhdl-port-list))
	  port-dir-car port-dir)
      ;; traverse port list and reverse directions
      (while port-list
	(setq port-dir-car (cddr (car port-list))
	      port-dir (car port-dir-car))
	(setcar port-dir-car
		(cond ((equal port-dir "in") "out")
		      ((equal port-dir "IN") "OUT")
		      ((equal port-dir "out") "in")
		      ((equal port-dir "OUT") "IN")
		      (t port-dir)))
	(setq port-list (cdr port-list)))
      (setq vhdl-port-reversed-direction (not vhdl-port-reversed-direction))
      (message "Reversing port directions for next paste...done"))))