With Icicles such info is available anytime during completion (including for M-x), at the press of a key.
This feature, getting help on individual completion candidates, is described here.
Short summary: Use C-M-mouse-2 to show help on the completion candidate you click in buffer *Completions*. Or cycle to a candidate and use C-M-RET to show help on it.
You may want to try ivy + ivy-rich.
The relevant section of the documentation has this screenshot:
You need to include the following lines in your init.el:
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
(global-set-key (kbd "M-x") 'counsel-M-x)
(push (apply-partially #'cl-remove-if
(lambda (c) (string-match-p "\\`[0-9]+\\'" c)))
The above code snippet is copied from the discussion at How to let company-dabbrev ignore numbers analysis
From the documentation of completion-ignored-extensions
It ignores directory names if they match any string in this list which
ends in a slash.
so you can simply add __pycache__/ to the variable
Not too sure what the context of your question is. If you're using function read-file-name then you can pass it a PREDICATE argument that will exclude any files or dirs you want to exclude as completion candidates. C-h f read-file-name tells us:
Sixth arg PREDICATE, if non-nil, should be a function of one
argument; then a file name is considered an ...
Rencently, I use TabNine with Company-mode to complete words and short sentence in Org-mode. And it provide me a very good experice, maybe you can try it and enjoy it.
my integration is as below:
;; The free version of TabNine is good enough,
;; and below code is recommended that TabNine ...