Sławomir Grochowski <slawomir.grochow...@gmail.com> writes: >> See `help--symbol-completion-table-affixation'. > > It's a private function and I need only a part of it. > Should I extract that part and create a new function? Like this below? > > (defun first-line-docstring (fun) > (let* ((doc (condition-case nil (documentation fun) (error nil))) > (doc (and doc (substring doc 0 (string-search "\n" doc))))) > (if doc > (format " -- %s" doc) > "")))
This would make sense, yes. Probably for org-macs.el Why not applying faces? >> I'd also prefer using a proper completing-read API instead of >> `completion-extra-properties' - by using `completion-extra-properties', >> we disallow users from utilizing this variable. > > OK. Based on this example > https://emacs.stackexchange.com/questions/74547/completing-read-search-also-in-annotations > I came up with this snippet below: > > (completing-read > "Summary: " > (lambda (s pred flag) > (pcase flag > ('t (all-completions s > (mapcar #'car org-columns-summary-types-default) > pred)) > ('metadata (list 'metadata > (cons 'annotation-function > (lambda (c) > (first-line-docstring > (cdr (assoc c > org-columns-summary-types-default)))))))))) Looks reasonable. Although, I'd prefer to avoid lambda here and simply make it into a proper function. Just like `org-tags-completion-function'. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>