Comments (5)
Hi! I know there is https://github.com/laloch/xontrib-fzf-widgets in https://github.com/topics/xontrib and some issues here. But I'm not the fzf user.
from xonsh.
I have fzf-widgets and have modified it to my needs (the repo has a lot of bugs, too). But it's use case is not what I'm asking for.
Let's forget fzf for a minute.
When I do ls <TAB>
, this is what I see:
Note the selection interface that comes built in with xonsh. I'd like to swap the selection interface with any tool of my choice (fzf, or anything else). How would I go about doing that?
from xonsh.
In xonsh you can manage the list of completers. Start from completer list
and completer --help
commands. Than you can add your own completer and release it as xontrib (examples).
from xonsh.
I looked at the completer tutorial, and it seems like a completer is more about determining the list of completion candidates, as opposed to the selection interface. Is my understanding incorrect?
I actually tried writing a completer to use fzf, but had little success - for git branch completion in the git checkout command. I had my completer at the top of the completion list so it had priority over xonsh's built-in completer. It would randomly use it - about half the time it would skip it and use the built in one. And even when it did pick my completer, some keypresses would fail in fzf.
There is another issue (#4536) where it was pointed out that it's not wise to call an interactive program like fzf in a completer.
Even if I could get this working via a xonsh completion function, ideally I do not want to write completion functions for every completion that xonsh already provides. I want to reuse the ones that come with xonsh, and merely change the selection tool. If I could do that, I could have it work with any xonsh completion function out there (with some limits).
from xonsh.
You can looking from shell-backend implementation. You can extend the readline implementation or create new one from scratch
from xonsh.
Related Issues (20)
- Edge case: `xonsh --no-rc --no-env`: `TERM environment variable not set`
- Main branch regress: redirect to python substitution HOT 3
- Windows: case of commands is incorrectly upper-cased on Windows HOT 7
- Completion: `act, _, value = act_res`: `Exception too many values to unpack (expected 3)` HOT 1
- Windows: Don't imply PATH=. HOT 7
- Edge case: `source file.xonshrc` shows `attempting to source non-xonsh file`
- Piping into the process that was ended immediately leads to exceptions with descriptors HOT 1
- Disable loading xonshrc in xonsh pytest plugin HOT 1
- Unintended loading `xonshrc` file in script mode HOT 15
- Colorize stderr
- Windows: support windows paths in environment HOT 1
- Refactoring: review interactive functionality
- Macs and Next don't have a login shell HOT 6
- completion of file names with newlines HOT 1
- Capture stdout from callable alias in case of redirecting output HOT 14
- tests: integration test timeout when `TERM=dumb` HOT 25
- SpecModifierAlias: multiple modifiers
- Bug: xonsh `--no-env` not found HOT 1
- Bug: Crash on tab completing `xonsh` HOT 2
- Bug: `xthread` not found 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 xonsh.