gelguy / wilder.nvim Goto Github PK
View Code? Open in Web Editor NEWA more adventurous wildmenu
License: MIT License
A more adventurous wildmenu
License: MIT License
I don't like remote-plugins.
Do you have any plans to change the https://github.com/gelguy/wilder.nvim/blob/master/rplugin/python3/wilder/__init__.py to Lua?
Setting ambiwidth=double
might cause strdisplaywidth()
calculations to be wrong if the terminal still renders the characters as single width.
If you have this issue, please post your environment (OS, terminal, Vim version, $TERM
) and config below to help with debugging.
wilder#wildmenu_renderer()
with mode: float
and wilder#popupmenu_renderer()
will sometimes leave behind visual artifacts which cannot be cleared with redraw
.
The visual artifacts can be cleared by causing the grid chars to be redrawn e.g. by scrolling.
Most commonly occurs when the cmdline width exceeds cmdheight
so the floats have to be drawn over the cmdline.
I'm using neovim 0.5.0 with the following minimal rc:
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
" vim-plug
call plug#begin()
Plug 'gelguy/wilder.nvim'
call plug#end()
" wilder.nvim
call wilder#enable_cmdline_enter()
call wilder#set_option('modes', ['/', '?', ':'])
function! Foo() abort
let prompt = "hello\nworld: "
call input(l:prompt)
endfunction
function! Bar() abort
echo 'hello'
echo 'world'
call input('User input: ')
endfunction
" vim: set tabstop=4 softtabstop=0 expandtab shiftwidth=2 smarttab:
Now if I :call Foo()
, I'd expect the following in cmdline:
hello
world:
But instead it shows:
world:
Similarly if I :call Bar()
, I expect
hello
world
User input:
But instead it shows only
User input:
If I comment out
call wilder#enable_cmdline_enter()
call wilder#set_option('modes', ['/', '?', ':'])
from vimrc above, the outputs are back to normal.
Neovim sometimes becomes unresponsive when passing a large number of candidates (>10000) to the Python fuzzy filters (e.g. wilder#python_fuzzy_filter()
or wilder#python_cpsm_filter()
.
wilder#lua_fzy_filter()
which is a performant (but non-async) filterwilder.nvim is the best plugin I've come across this year.
However, the CocList completion doesn't seem to be working well.
I think you should be able to complete it, or you should be able to set it to ignore some commands.
vim version: nvim v0.5.0-627-g94b7ff730
coc.nvim version: 0.0.78-bdd9a9e140
call wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
nnoremap <expr> <SubLeader>w wilder#toggle()
" only / and ? is enabled by default
call wilder#set_option('modes', ['/', '?', ':'])
let s:hl = 'LightlineMiddle_active'
let s:mode_hl = 'LightlineLeft_active_0'
let s:index_hl = 'LightlineRight_active_0'
call wilder#set_option('renderer', wilder#wildmenu_renderer({
\ 'highlights': {
\ 'default': s:hl,
\ },
\ 'apply_highlights': wilder#query_common_subsequence_spans(),
\ 'separator': ' ',
\ 'left': [{'value': [
\ wilder#condition(
\ {-> getcmdtype() ==# ':'},
\ ' COMMAND ',
\ ' SEARCH ',
\ ),
\ wilder#condition(
\ {ctx, x -> has_key(ctx, 'error')},
\ '!',
\ wilder#spinner({
\ 'frames': '-\|/',
\ 'done': '',
\ }),
\ ), ' ',
\ ], 'hl': s:mode_hl,},
\ wilder#separator('', s:mode_hl, s:hl, 'left'), ' ',
\ ],
\ 'right': [
\ ' ', wilder#separator('', s:index_hl, s:hl, 'right'),
\ wilder#index({'hl': s:index_hl}),
\ ],
\ }))
I am using neovim built with the latest commit(as on today c423ec65dcda1b5
).
I observe that float renderer is overwriting status line and also displaying line number. A sample screenshot is shown below
Following is my renderer configuration:
call wilder#set_option('renderer', wilder#float_renderer({
\ 'separator':' โข ',
\ 'separator_hl': s:sep_hl,
\ 'hl': s:status_hl,
\ 'left': [
\ {'value': [' WILDER', wilder#spinner()], 'hl': s:mode_hl},
\ wilder#separator('', s:mode_hl, s:status_hl, 'left'), ' ',
\ ],
\ 'right': [
\ ' ', wilder#separator('', s:index_hl, s:status_hl, 'right'),
\ wilder#index({'hl': s:index_hl}),
\ ],
\ }))
This setting works fine for wilder#statusline_renderer()
Can you please help me in configuring right settings?
my vim configuration uses autochdir, but the current path is not changed when the wilder executes
: e /path/of/ file
Hello ๐
Can this awesome plugin be installed with vim8's native package manager? If it can then what is the installation process?
Thank you)
specifically vim-visual-multi has a feature that allows you to multi select all matches of a certain regex. However with wilder.nvim enabled for '/' the vim-visual-multi regex search gets replaced by the wilder regex search.
Is there anyway to get these plugins to work together? ideally I could use wilder completions in the vim-visual-multi, but another way could be to have the wilder search only trigger when called from a certain keybinding (ie have a separate function to start wilder search)
I like having wildignorecase
enabled and quickly edit files with :e[dit]
.
For example, :e rea<Tab>
should match README.md
.
Very cool plugin, thanks!
I noticed that commands from vim-rails generate errors:
I'm guessing this might be due to the fact that vim-rails loads dynamically based on files existing (IIRC, app/
and config/environment.rb
).
It's not a big deal as you can ignore it and continue manually triggering completions but I figured I'd flag it.
NVIM v0.4.2
Vi IMproved 8.1
python Version: 3.7.4
pynvim Version: 0.3.2
After starting up neovim and entering any of the supported command lines eg ':' '?' or '/' I get the following error. After the error goes away the auto suggestion works great. When using regular vim the issue does not persist so I assume its part of the neovim python integration. The error seems to becoming from autoload/wilder/main.vim on line 66. When I comment out the line the error doesn't appear. I have only added the minimal settings from the help file.
Error detected while processing function
3[1]
23_start[8]
E117: unknown function: _wilder_init
Keep up the great work on this awesome plugin!
incsearch
highlighting disappears or is sometimes wrong
wilder#popupmenu_renderer()
when searchingwilder#popupmenu_renderer()
and wilder#wildmenu_renderer()
when searching and the current window view changes (e.g. moves due to incsearch
)See neovim/neovim#14064
See neovim/neovim#12495 (outdated)
A workaround is to use wilder#wildmenu_renderer({'mode': 'statusline'})
for searching.
Update: the statusline
workaround doesn't work for Neovim 0.6 nightly.
When typing a pattern, the fuzzy finder only matches words that begin with the first letter of the pattern.
In this example, the pattern "term
" matches with the word ctermfg
, but the fuzzy finder will not show it, since it will only show matches that begin with the letter "t
":
I can also confirm that ctermfg
is indexed by wilder, since typing "cter
" shows it:
It'd be nice if we had the option to enable a broader matching style for the fuzzy finder, which included words that do not begin with first letter of the pattern.
I have basic pop-up menu pseudo-transparency set in my init.vim file:
set termguicolors
set pumblend=50
This gives me psuedo-transparent popup windows with coc (not shown) and telescope (telescope config shown below using winblend
):
lua << EOF
require('telescope').setup{
defaults = {
...
winblend = 20,
...
}
}
EOF
How do I configure this pumblend/winblend feature for wilder? Can we include that in the docs? (If someone shows me how, then I could create a PR to include the instructions in the README).
I would love it if Wilder automatically selected the first item in the suggestion list but without inserting its text into the command-line. And calling wilder#accept_completion()
would insert the text in the selected suggestion. This is in my experience how most tools that auto-complete what you're typing work.
What I'm trying to describe is kinda like what set completeopt+=noinsert
does for Vim's completion menu.
Is this configurable now or would it be possible to implement as a feature?
First off, this is fantastic and so good it should be built in. Thanks a ton, you're a legend.
especially on large high res screens, looking down to the command bar having to move my head is a bit annoying - what I'd love is a telescope-esque UI that floats in the middle of the screen. Potentially even actually using telescope.
This would also give you a lot of extra space to do cool things like e.g. preview the file if someone is typing :e <myfile.py>
, previewing the man page if someone is doing ! curl
etc.
I know this is probably a lot of work but nonetheless think cool idea.
Thanks a ton!
Here is my config, I'm using Neovim 0.5 with Packer.
{
"gelguy/wilder.nvim",
requires = "nixprime/cpsm",
config = function()
vim.cmd([[
call wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
call wilder#set_option('modes', ['/', '?', ':'])
call wilder#set_option('pipeline', [
\ wilder#branch(
\ wilder#python_file_finder_pipeline({
\ 'file_command': {_, arg -> stridx(arg, '.') != -1 ? ['fd', '-tf', '-H'] : ['fd', '-tf']},
\ 'dir_command': ['fdfind', '-td'],
\ 'filters': ['cpsm_filter'],
\ 'cache_timestamp': {-> 1},
\ }),
\ wilder#cmdline_pipeline({
\ 'fuzzy': 1,
\ 'fuzzy_filter': wilder#python_cpsm_filter(),
\ 'set_pcre2_pattern': 0,
\ }),
\ wilder#python_search_pipeline({
\ 'pattern': wilder#python_fuzzy_pattern({
\ 'start_at_boundary': 0,
\ }),
\ }),
\ ),
\ ])
let g:highlighters = [
\ wilder#pcre2_highlighter(),
\ wilder#lua_fzy_highlighter(),
\ ]
call wilder#set_option('renderer', wilder#renderer_mux({
\ ':': wilder#popupmenu_renderer({
\ 'highlighter': g:highlighters,
\ 'left': [
\ wilder#popupmenu_devicons(),
\ ],
\ 'right': [
\ ' ',
\ wilder#popupmenu_scrollbar(),
\ ],
\ }),
\ '/': wilder#wildmenu_renderer({
\ 'highlighter': g:highlighters,
\ }),
\ }))
]])
end,
}
As described here in the docs I am trying to default the rendered to popup menu: my configuration is the following
call wilder#set_option('renderer', wilder#popupmenu_renderer({
\ 'highlights': wilder#basic_highlighter(),
\ 'apply_highlights': wilder#query_common_subsequence_spans(),
\ 'separator': ' ยท ',
\ 'ellipsis': '...',
\ 'left': [{'value': [
\ wilder#condition(
\ {-> getcmdtype() ==# ':'},
\ ' COMMAND ',
\ ' SEARCH ',
\ ),
\ ], 'hl': s:mode_hl,},
\ wilder#separator('๎ฐ', s:mode_hl, s:hl, 'left'), ' ',
\ ],
\ 'right': [
\ ' ', wilder#separator('๎ฒ', s:index_hl, s:hl, 'right'),
\ wilder#index({'hl': s:index_hl}),
\ ],
\ }))
however, the popup is not showing up and neither are the suggestions on the statusline: is there any other option I have to set to have it working?
This is a great plugin! I have found that the completion candidate order is not what I expect.
My config for wilder.nvim
call wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
" only / and ? are enabled by default
call wilder#set_option('modes', ['/', '?', ':'])
call wilder#set_option('pipeline', [
\ wilder#branch(
\ wilder#cmdline_pipeline({
\ 'language': 'python',
\ 'fuzzy': 1,
\ }),
\ wilder#python_search_pipeline({
\ 'pattern': wilder#python_fuzzy_pattern(),
\ 'sorter': wilder#python_fuzzywuzzy_sorter(),
\ 'engine': 're',
\ }),
\ ),
\ ])
call wilder#set_option('renderer', wilder#wildmenu_renderer({
\ 'highlighter': wilder#basic_highlighter(),
\ 'separator': ' ',
\ 'right': [' ', wilder#wildmenu_index()],
\ }))
When I type :h vim.paste()
, I would expect that vim.paste()
is ranked first in the completion item. However, it is rankded the last in the list of completion items (see image below)
In the present code, is there a provision to pass the completion through external tools like fzf
?
If not, is there a plan to do this?
Currently, full fuzzy completion is not working for me.
Thank you for releasing this great plugin!
Current wilder shows history on popup menu in reverse order compared to the default popup history.
It would be great if we could change the order by an option.
Is searching only in command history supported?
Is it possible to have suggestions displayed case insensitively? Specifically when using / and ? for searching.
For example, when I search for \chello
, it prints out a warning python_search: bad escape \c at position 1
.
Considering behaviours of Vim regexps are sometimes influenced by settings as well, e.g. ignorecase
, smartcase
, I'm wondering if it's possible to leave this part of job to Vim itself? Or it's time to find/create a Vim regexp library for Python?
Hey there,
really nice plugin. I just struggled for an eternity trying to figure out why it didn't work for me.
After a long time i realized that this line in my vimrc:
let g:dein#lazy_rplugins = v:true
means that i have to lazy load the plugin, which i didn't at first.
In fact before this plugin i had no idea what remote plugins are.
Maybe it would be a nice hint for dein users in the readme.
Obviously it's my own stupidity, but i can imagine few people are familiar with remote plugins, since it isn't commonly used by plugins. At least i haven't seen it a lot.
Thanks for the plugin, have a nice day.
Vim's default behaviour of <Up>
in /
breaks with wilder.
This is what :help c_<Up>
reads:
c_<Up> c_Up
<Up> recall older command-line from history, whose beginning
matches the current command-line (see below).
To reproduce:
.vimrc
:call plug#begin('~/.config/nvim/packages/')
Plug 'gelguy/wilder.nvim'
call plug#end()
call wilder#enable_cmdline_enter()
/
and then press <Up>
a couple of times..vimrc
, which does what :help c_<Up>
describesExpected behaviour when pressing <Up>
:
Your latest searches show up in the command-line.
<Up>
does seem to work with :
(command-line mode), but does not work with ?
(backwards search).
On Windows I have the fallowing error when traying to complete:
E117: Unknown function: _wilder_init
NeoVim's checkhealth
returns:
## Remote Plugins
- WARNING: "wilder.nvim" is not registered.
- WARNING: Out of date
- ADVICE:
- Run `:UpdateRemotePlugins`
After runing :UpdateRemotePlugins
I get the error
ModuleNotFoundError: No module named 'pwd'
Using the fuzzy config from the example.
call wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
call wilder#set_option('modes', ['/', '?', ':'])
call wilder#set_option('pipeline', [
\ wilder#branch(
\ wilder#cmdline_pipeline({
\ 'fuzzy': 1,
\ }),
\ wilder#python_search_pipeline({
\ 'pattern': 'fuzzy',
\ }),
\ ),
\ ])
let s:highlighters = [
\ wilder#pcre2_highlighter(),
\ wilder#basic_highlighter(),
\ ]
call wilder#set_option('renderer', wilder#renderer_mux({
\ ':': wilder#popupmenu_renderer({
\ 'highlighter': s:highlighters,
\ }),
\ '/': wilder#wildmenu_renderer({
\ 'highlighter': s:highlighters,
\ }),
\ }))
python version -> 3.9.6
nvim version -> 0.5.0
Works fine under WSL, but not native Windows.
:echo 1
does not display when wilder is enabled. I'm using NVIM v0.6.0-dev+62d67de59 with the following wilder config:
call wilder#enable_cmdline_enter()
set wildcharm=<tab>
cmap <expr> <c-n> wilder#in_context() ? wilder#next() : "\<c-n>"
cmap <expr> <c-p> wilder#in_context() ? wilder#previous() : "\<c-p>"
call wilder#set_option('modes', ['/', '?', ':'])
call wilder#set_option('pipeline', [
\ wilder#branch(
\ [
\ wilder#check({_, x -> empty(x)}),
\ wilder#history(),
\ wilder#result({
\ 'draw': [{_, x -> '๏ณ ' . x}],
\ }),
\ ],
\ wilder#python_file_finder_pipeline({
\ 'file_command': {_, arg -> stridx(arg, '.') != -1 ? ['fd', '-tf', '-H'] : ['fd', '-tf']},
\ 'dir_command': ['fd', '-td'],
\ 'filters': ['fuzzy_filter', 'difflib_sorter'],
\ 'cache_timestamp': {-> 1},
\ }),
\ wilder#cmdline_pipeline({
\ 'fuzzy': 1,
\ 'set_pcre2_pattern': 0,
\ }),
\ [
\ {_, x -> x[:1] ==# '\v' ? x[2:] : x},
\ ] + wilder#python_search_pipeline({
\ 'pattern': wilder#python_fuzzy_pattern({
\ 'start_at_boundary': 0,
\ }),
\ }),
\ ),
\ ])
let s:highlighters = [
\ wilder#pcre2_highlighter(),
\ wilder#lua_fzy_highlighter(),
\ ]
call wilder#set_option('renderer', wilder#renderer_mux({
\ ':': wilder#popupmenu_renderer({
\ 'highlighter': s:highlighters,
\ 'left': [
\ wilder#popupmenu_devicons(),
\ ],
\ 'right': [
\ ' ',
\ wilder#popupmenu_scrollbar(),
\ ],
\ }),
\ '/': wilder#wildmenu_renderer({
\ 'highlighter': s:highlighters,
\ }),
\ }))
Support for popup menu in command line mode was recently merged in neovim.
Can we support this in this plugin?
Right now all the configuration is done through vimscript calls and variables. Personally, I want to keep as much of my configuration as lua, but this plugin makes me keep around some large blocks of vim.cmd[[]]
This is a great plugin and more improved compared to Cmd2.
Can you let me know how to customize highlighting for the separator between results? Example would be great.
Great plugin!
I created a pipelines for oldfiles selection with :o and :os and :ov. Works nice, but I cannot figure out how to apply a sorter to it. Can you help me please?
all wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
call wilder#set_option('modes', ['/', '?', ':'])
call wilder#set_option('pipeline', [
\ wilder#branch(
\ wilder#python_file_finder_pipeline({
\ 'file_command': ['find', '.', '-type', 'f', '-printf', '%P\n'],
\ 'dir_command': ['find', '.', '-type', 'd', '-printf', '%P\n'],
\ 'filters': ['python_fuzzy_filter'],
\ }),
\ [ wilder#check({ctx, x -> x =~ "^o "}),
\ {ctx, x -> {'value': wilder#vim_fuzzy_filt(ctx, {}, copy(eval('v:oldfiles')), x[2:]),
\ 'replace': [{ctx, x, data -> 'e ' .x}]} }],
\ [ wilder#check({ctx, x -> x =~ "^os "}),
\ {ctx, x -> {'value': wilder#vim_fuzzy_filt(ctx, {}, copy(eval('v:oldfiles')), x[3:]),
\ 'replace': [{ctx, x, data -> 'split ' .x}]} }],
\ [ wilder#check({ctx, x -> x =~ "^ov "}),
\ {ctx, x -> {'value': wilder#vim_fuzzy_filt(ctx, {}, copy(eval('v:oldfiles')), x[3:]),
\ 'replace': [{ctx, x, data -> 'vsplit ' .x}]} }],
\ wilder#cmdline_pipeline(),
\ wilder#python_search_pipeline(),
\ ),
\ ])
call wilder#set_option('renderer', wilder#renderer_mux({
\ ':': wilder#popupmenu_renderer({'left': [wilder#popupmenu_devicons()], 'highlighter': wilder#basic_highlighter()}),
\ '/': wilder#wildmenu_renderer({'highlighter': wilder#basic_highlighter()})
\ }))
The documentation for sorter
argument of wilder#cmdline_pipeline
:
For Neovim, |wilder#python_sort_difflib()| and
|wilder#python_sort_fuzzywuzzy()| can be used here.
If we use wilder#python_sort_fuzzywuzzy()
, we get an error, because it is deprecated in favor of wilder#python_fuzzywuzzy_sort()
. However, wilder#python_fuzzywuzzy_sort()
can not be used here either. We should use wilder#python_fuzzywuzzy_sorter()
instead.
All of this is confusing for a new user like me.
Was there a recent update to the plugin? Today I noticed that all of a sudden I am getting the error:
Error detected while processing function wilder#separator[1]..wilder#separator[1]..wilder#separator[1]..wilder#separator[1]..wilder#separat
or[1]..wilder#separator[1]..wilder#separator[1]..wilder#separator[1]..wilder#separator[1]..wilder#separator[1]..wilder#separator[1]..wilder
#separator[1]..wilder#separator[1]..wilder#separator[1]
...
...
E132: Function call depth is higher than 'maxfuncdepth'
at (neo)vim start-up. After dismissing the error the functionalities of the plugin do not really work.
Setup
nvim -v
NVIM v0.5.0-dev+1083-g1aec5ba85
Build type: Release
LuaJIT 2.1.0-beta3
macOs Big Sur
11.2.2
Search suggestions don't appear for /\v
(but do with /
). I'm using nnoremap / /\v
to automatically use very magic, which I suspect is a fairly popular remap.
:cd ~/<wildcharm>
โ completes home directory contents
:cd ~/<wildcharm>
โ completes root(/) directory contents
After compiling and installing CPSM I get the following error as soon as I :e
pipeline: Vim(let):Error invoking '/Users/garfield/.config/nvim/plugged/wilder.nvim/rplugin/
python3/wilder:function:_wilder_python_get_file_completion' on channel 5:^@Invalid channel: 5
My wilder config is as follows:
"Wilder
call wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <c-n> wilder#in_context() ? wilder#next() : "\<c-n>"
cmap <expr> <c-p> wilder#in_context() ? wilder#previous() : "\<c-p>"
cmap <expr> <C-D> wilder#can_accept_completion() ? wilder#accept_completion() : "\<C-D>"
call wilder#set_option('modes', [':'])
call wilder#set_option('pipeline', [
\ wilder#branch(
\ wilder#cmdline_pipeline({
\ 'fuzzy': 1,
\ 'fuzzy_filter': wilder#python_cpsm_filter(),
\ 'set_pcre2_pattern': 0,
\ }),
\ wilder#python_search_pipeline({
\ 'pattern': wilder#python_fuzzy_pattern({
\ 'start_at_boundary': 0,
\ }),
\ }),
\ ),
\ ])
let s:highlighters = [
\ wilder#pcre2_highlighter(),
\ wilder#basic_highlighter(),
\ ]
call wilder#set_option('renderer', wilder#renderer_mux({
\ ':': wilder#popupmenu_renderer({
\ 'highlighter': s:highlighters,
\ 'left': [
\ wilder#popupmenu_devicons(),
\ ],
\ 'right': [
\ ' ',
\ wilder#popupmenu_scrollbar(),
\ ],
\ }),
\ '/': wilder#wildmenu_renderer({
\ 'highlighter': s:highlighters,
\ }),
\ }))
OS: macOS Catalina
NVIM v0.6.0-dev+c31bc6ea7
Build type: Release
LuaJIT 2.1.0-beta3
Currently, can we assign custom names to different modes( '/' ,'?', ':'
)?
If not, it will be nice to have this.
The patch fixes the problem.
diff --git a/autoload/wilder/renderer/vim_api.vim b/autoload/wilder/renderer/vim_api.vim
index 3700b6b..561cac4 100644
--- a/autoload/wilder/renderer/vim_api.vim
+++ b/autoload/wilder/renderer/vim_api.vim
@@ -110,6 +110,10 @@ function! s:set_line(line, str) dict abort
endfunction
function! s:add_highlight(hl, line, col_start, col_end) dict abort
+ if self.state.buf < 0
+ return
+ endif
+
let l:prop_type = 'WilderProp_' . a:hl
if !has_key(self.state.prop_types, a:hl)
Hi, sorry that I'm asking an issue about cpsm
here, but I looked at their repo and seems to be pretty dormant for quite a while and your plugin is the only reason I found out about them in the first place ๐
The "recommended" advanced Neovim configuration mentions that we need cpsm
. Just adding it to vimplug
doesn't seem to be enough because I see this error in neovim:
python_cpsm_filt: No module named 'cpsm_py'
I think we need to run their ./install.sh
, but when I run it, I see the following errors:
PY3 not specified; inferring Python version from /usr/bin/vim
Python 3 selected
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
CMake Error at /usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Boost (missing: Boost_INCLUDE_DIR program_options)
Call Stack (most recent call first):
/usr/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.21/Modules/FindBoost.cmake:2345 (find_package_handle_standard_args)
CMakeLists.txt:21 (find_package)
Can you help me please?
By default <C-f>
opens the command-line window. However, wilder leaves its popup menu open when pressing <C-f>
, which blocks the command-line-window.
To reproduce:
.vimrc
:call plug#begin('~/.config/nvim/packages/')
Plug 'gelguy/wilder.nvim'
call plug#end()
call wilder#setup({'modes': [':', '/', '?']})
call wilder#set_option('renderer', wilder#popupmenu_renderer({
\ 'highlighter': wilder#basic_highlighter(),
\ }))
:
and then press <C-f>
.Patterns in 'wildignore' are not currently ignored when completing files in the command prompt. Would it not be the expected behavior?
I would like to set pumblend on the completion window to make it transparent.
I think the image in the README sets the transparency, but I couldn't figure out how to do it after reading the doc.
How can I set it to make the completion window transparent?
I've had wilder installed and set shortmess-=F
as required by nvim-metals. This resulted in all the messages being overriden with information about current file. Eg when doing :map gd
I would see:
"./init.vim" 13 lines --61%--
The expected No mapping found
can be still seen in :messages
minimal init.vim repro (with plug.vim):
set shortmess-=F
call plug#begin()
Plug 'gelguy/wilder.nvim'
call plug#end()
call wilder#enable_cmdline_enter()
set wildcharm=<Tab>
cmap <expr> <Tab> wilder#in_context() ? wilder#next() : "\<Tab>"
cmap <expr> <S-Tab> wilder#in_context() ? wilder#previous() : "\<S-Tab>"
" only / and ? is enabled by default
call wilder#set_option('modes', ['/', '?', ':'])
Hey,
first I like to thank you for this amazing plugin! ๐
I just did the setup and I'm super happy. Unfortunately there is this tiny cosmetic issue of a gap on the left side:
I suppose that it is the foldcolumn that is visible there. I'm using a recent NeoVim version, so the renderer should open a floating window. Do you have a specific filetype for the displayed buffer which would allow to disable the option there?
This is my configuration. So there should be actually no gap and in your screenshots I can't see such neither.
call wilder#set_option('modes', ['/', '?', ':'])
call wilder#set_option('renderer', wilder#float_renderer({
\ 'separator': ' โข ',
\ 'separator_hl': 'Grey',
\ 'hl': 'GreenBold',
\ 'left': [
\ {
\ 'value': [
\ wilder#condition(
\ { -> getcmdtype() ==# ':' },
\ ' COMMAND ',
\ ' SEARCH '
\ ),
\ '๎บ',
\ ],
\ 'hl': 'RedBackground',
\ },
\ ' ',
\ ],
\ 'right': [
\ ' ',
\ wilder#index({ 'hl': 'YellowBold' }),
\ ],
\ }))
Would it be possible to expose the auto_select
being run on the call to run_pipeline
in wilder#main#accept_completion
as an option?
I personally find it (mildly) annoying that when I accept something from the list the first value from the next list gets autocompleted because that stops me from keeping typing. Instead I have to get rid of the autocompletion then type.
My current solution is to manually set it to 0
but having the option to disable would be nice.
Edit: I can attempt a pull request if you think the request is reasonable
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.