Comments (5)
You can use the following pipeline:
call wilder#set_option('pipeline', [
\ wilder#history(100),
\ {ctx, xs -> filter(xs, {i, x -> match(x, ctx.input) != -1})},
\ ])
You can increase the number of history candidates by increasing 100
, but note that at higher numbers there might be noticeable lag as the gathering of the history candidates is quite inefficient. 0
sets the history candidates to unlimited.
from wilder.nvim.
I have the following pipeline defined.
call wilder#set_option('pipeline', [
\ wilder#branch(
\ [
\ wilder#check({_, x -> empty(x)}),
\ wilder#history(15),
\ ],
\ wilder#cmdline_pipeline(),
\ [
\ wilder#python_fuzzy_delimiter(),
\ wilder#python_search({'engine': 're'}),
\ wilder#result_output_escape('^$,*~[]/\'),
\ ],
\ [
\ wilder#history(50),
\ {ctx, xs -> filter(xs, {i, x -> match(x, ctx.input) != -1})},
\ ],
\ ),
\ ])
The last segment is completing only history items. May I know how to bind this to a different key? example to <BS>
from wilder.nvim.
Let me rephrase my above comment.
I am looking at an option to complete from history items from the existing command line modes - : / or ?
Example: If C-f
is pressed in command line mode, only history items should be sourced, else normal items should be sourced.
It will be immensely useful. This reduces considerable time in executing the desired command.
from wilder.nvim.
Thanks for bringing up this use case! I was not considering this usage but this is actually quite powerful as it enables you to change the pipeline on the fly.
You can add the following to your init.vim
/.vimrc
to achieve the effect:
let s:wilder_show_history = 0
function! s:wilder_toggle_history() abort
let s:wilder_show_history = 1 - s:wilder_show_history
call timer_start(0, {-> feedkeys("\<BS>")})
" return space which is then deleted by the <BS> to trigger CmdlineChanged
return ' '
endfunction
cmap <expr> <C-F> wilder#in_context() ? <SID>wilder_toggle_history() : "\<C-F>"
call wilder#set_option('pipeline', [
\ wilder#branch(
\ [
\ wilder#check({-> s:wilder_show_history}),
\ wilder#history(100),
\ {ctx, xs -> filter(xs, {i, x -> match(x, ctx.input) != -1})},
\ ],
\ " rest of your pipelines
\ ),
\ ])
Remember the ordering of the branches matter so the check should be done before the other pipelines.
The s:wilder_show_history
variable can also be used in the renderer to indicate you are using history mode.
Currently, triggering the CmdlineChanged
event is inefficient as it has to be triggered twice. I will be adding a helper method to trigger a change on demand in the future.
from wilder.nvim.
Thank you. This is working fine.
from wilder.nvim.
Related Issues (20)
- File finder: customizable behavior on should_use_file_finder HOT 1
- Changing the background color HOT 1
- Strange off-by-one error when hitting <Tab> in the command line HOT 3
- `_wilder_python_search` error when searching with `/` HOT 2
- Highlight the candidates
- Wilder removes topline in buffer in .10 nightly
- Wilder pop up breaks lualine "diff" component
- The popup menu's color is weird HOT 1
- I entered / in cmdline and received this error HOT 6
- Issue with wilder when trying to select commands(TAB) HOT 1
- Trying to install wilder correctly for NvChad, getting Unknown function _wilder_python_file_finder HOT 1
- Semshi/Wilder conflict HOT 6
- Configure to operate similarly to wildmode=list:longest?
- "error caught in async handler" when searching HOT 1
- Popupmenu_render only works on 1st table.
- Bug when trying to save harpoon buffer
- How to select the first listed item by default? HOT 5
- Unknown function: _wilder_python_search HOT 4
- When use_python_remote_plugin is set to 0, an error occurs when writing during a git commit.
- Nvim 0.9.5 still can not register wilder.nvim with UpdateRemotePlugins on Windows HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wilder.nvim.