(Since 2015-12-07)
Update: 2016-08-29
Add How to get the patch.

Update: 2016-05-15
The 'wildmode' option value name clpum change to popup.
Remove 'clcompleteopt' options value longest.

What is Vim-CLPUM?

vim-CLPUM is implementation of Command-Line mode PopUp Menu for Vim.
Modified Vim's C source code.

clpum1

clpum1

clpum2


How to Use

if has('clpum')
    set wildmode=popup
    set wildmenu
    set clpumheight=40
    set clcompletefunc=UserDefinedClComplete
    function! UserDefinedClComplete(findstart, base)
        if a:findstart
            return getcmdpos()
        else
            return [
            \   { 'word': 'Jan', 'menu': 'January' },
            \   { 'word': 'Feb', 'menu': 'February' },
            \   { 'word': 'Mar', 'menu': 'March' },
            \   { 'word': 'Apr', 'menu': 'April' },
            \   { 'word': 'May', 'menu': 'May' },
            \ ]
        endif
    endfunc
endif

example:

:set <Tab>
:colorscheme <Tab>
:set wild<Tab>
:h time<Tab>

NOTE:


Added/Changed Options, Event and etc.

Option: 'wildmenu', 'clcompletefunc', 'clcompleteopt', 'clpumheight'
Built-in Function: clpumvisible()
Event: ClCompleteDone
Predefined Vim variables: v:clcompleted_item
Highlight groups: ClPmenu, ClPmenuSel, ClPmenuSbar, ClPmenuThumb


Progress

Phase %
Implement 100
Debug and refactor 70
Write documents 5
Write tests 0
Send patch -
Included this patch to Vim -

How to get the patch

$ curl -L https://github.com/h-east/vim/compare/master...h-east:clpum.diff > clpum.patch

Goal

Want to be included this patch to Vim.

License

Follow the Vim license.

Author

h_east (@h-east)
Search me in vim_dev