Function: php-ts-mode--webserver-read-args

php-ts-mode--webserver-read-args is a byte-compiled function defined in php-ts-mode.el.gz.

Signature

(php-ts-mode--webserver-read-args &optional TYPE)

Documentation

Helper for php-ts-mode-run-php-webserver.

The optional TYPE can be the symbol "port", "hostname", "document-root",
"router-script", "num-workers" or "config", otherwise it requires all of them.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/php-ts-mode.el.gz
(defun php-ts-mode--webserver-read-args (&optional type)
  "Helper for `php-ts-mode-run-php-webserver'.
The optional TYPE can be the symbol \"port\", \"hostname\", \"document-root\",
\"router-script\", \"num-workers\" or \"config\", otherwise it requires all of them."
  (let ((ask-port (lambda ()
		    (read-number "Port: " (or
					   php-ts-mode-ws-port
					   3000))))
	(ask-hostname (lambda ()
			(read-string "Hostname: "
				     (or
				      php-ts-mode-ws-hostname
				      "localhost"))))
	(ask-document-root (lambda ()
			     (expand-file-name
			      (read-directory-name "Document root: "
						   (file-name-directory
						    (or (buffer-file-name)
							default-directory))))))
	(ask-router-script (lambda ()
			     (expand-file-name
			      (read-file-name "Router script: "
					      (file-name-directory
					       (or (buffer-file-name)
						   default-directory))))))
	(ask-num-workers (lambda ()
			   (let ((num-workers
				  (read-number
				   "Number of workers (less then 2 means no workers): "
				   (or php-ts-mode-ws-workers 0))))
			     ;; num-workers must be >= 2 or nil
			     ;; otherwise PHP's built-in web server will not start.
			     (if (> num-workers 1)
				 num-workers
			       nil))))
	(ask-config (lambda()
		      (let ((file-name (expand-file-name
					(read-file-name "Alternative php.ini: "
							(file-name-directory
							 (or (buffer-file-name)
							     default-directory))))))
			(if (string= "" (file-name-directory file-name))
			    nil
			  file-name)))))
    (cl-case type
      (port (funcall ask-port))
      (hostname (funcall ask-hostname))
      (document-root (funcall ask-document-root))
      (router-script (funcall ask-router-script))
      (num-of-workers (funcall ask-num-workers))
      (config (funcall ask-config))
      (t (list
	  (funcall ask-port)
	  (funcall ask-hostname)
	  (funcall ask-document-root)
	  (funcall ask-router-script)
	  (funcall ask-num-workers)
	  (funcall ask-config))))))