wilder.vim 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. call wilder#enable_cmdline_enter()
  2. set wildcharm=<Tab>
  3. cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
  4. cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
  5. call wilder#set_option('modes', ['/', '?', ':'])
  6. " default keys mappings
  7. call wilder#setup({
  8. \ 'modes': [':', '/', '?'],
  9. \ 'next_key': '<Tab>',
  10. \ 'previous_key': '<S-Tab>',
  11. \ 'accept_key': '<Down>',
  12. \ 'reject_key': '<Up>',
  13. \ })
  14. "DONT FUZZY MATCH COMMANDS IT IS ANNOYING (cmdpipeline)
  15. call wilder#set_option('pipeline', [
  16. \ wilder#branch(
  17. \ wilder#cmdline_pipeline({
  18. \ 'fuzzy': 1,
  19. \ 'fuzzy_filter': wilder#vim_fuzzy_filter(),
  20. \ }),
  21. \ wilder#python_search_pipeline({
  22. \ 'pattern': 'fuzzy',
  23. \ }),
  24. \ ),
  25. \ ])
  26. let s:highlighters = [
  27. \ wilder#pcre2_highlighter(),
  28. \ wilder#basic_highlighter(),
  29. \ ]
  30. let s:scale = ['#f4468f', '#fd4a85', '#ff507a', '#ff566f', '#ff5e63',
  31. \ '#ff6658', '#ff704e', '#ff7a45', '#ff843d', '#ff9036',
  32. \ '#f89b31', '#efa72f', '#e6b32e', '#dcbe30', '#d2c934',
  33. \ '#c8d43a', '#bfde43', '#b6e84e', '#aff05b']
  34. let s:gradient = map(s:scale, {i, fg -> wilder#make_hl(
  35. \ 'WilderGradient' . i, 'Pmenu', [{}, {}, {'foreground': fg}]
  36. \ )})
  37. call wilder#set_option('renderer', wilder#popupmenu_renderer(wilder#popupmenu_border_theme({
  38. \ 'highlights': {
  39. \ 'gradient': s:gradient,
  40. \ },
  41. \ 'highlighter': s:highlighters,
  42. \ 'left': [
  43. \ wilder#popupmenu_devicons(),
  44. \ ],
  45. \ 'right': [
  46. \ ' ',
  47. \ wilder#popupmenu_scrollbar(),
  48. \ ],
  49. \ 'min_height': '0%',
  50. \ 'max_height': '50%',
  51. \ 'border': 'rounded',
  52. \ })))