Function: org-columns-new

org-columns-new is an interactive and byte-compiled function defined in org-colview.el.gz.

Signature

(org-columns-new &optional SPEC &rest ATTRIBUTES)

Documentation

Insert a new column, to the left of the current column.

Interactively fill attributes for new column. When column format specification SPEC is provided, edit it instead.

When optional argument ATTRIBUTES is provided, it should be a list of column specification attributes to create the new column non-interactively. See org-columns-compile-format for details.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-colview.el.gz
(defun org-columns-new (&optional spec &rest attributes)
  "Insert a new column, to the left of the current column.
Interactively fill attributes for new column.  When column format
specification SPEC is provided, edit it instead.

When optional argument ATTRIBUTES is provided, it should be a list of
column specification attributes to create the new column
non-interactively.  See `org-columns-compile-format' for details."
  (interactive)
  (let ((new (or attributes
		 (let ((prop
			(completing-read
			 "Property: "
			 (mapcar #'list (org-buffer-property-keys t nil t))
			 nil nil (nth 0 spec))))
		   (list prop
                         ;; Discard useless whitespace-only titles.
			 (org-string-nw-p
                          (read-string (format "Column title [%s]: " prop)
				       (nth 1 spec)))
			 ;; Use `read-string' instead of `read-number'
			 ;; to allow empty width.
			 (let ((w (read-string
				   "Column width: "
				   (and (nth 2 spec)
					(number-to-string (nth 2 spec))))))
			   (and (org-string-nw-p w) (string-to-number w)))
			 (org-string-nw-p
                          (completing-read
                           "Summary: "
                           'org-columns--summary-types-completion-function
                           nil t (nth 3 spec)))
			 (org-string-nw-p
			  (read-string "Format: " (nth 4 spec))))))))
    (if spec
	(progn (setcar spec (car new))
	       (setcdr spec (cdr new)))
      (push new (nthcdr (org-current-text-column) org-columns-current-fmt-compiled)))
    (org-columns-store-format)
    (org-columns-redo)))