Comments (4)
Yes I think there is nothing speaking against that in my view. The trait should be implementation agnostic/tolerant.
While we are at it, it might make sense to make it either more general or replace it with a more specific name, as most of reedline just returns std::io::error
s for the fallible interactions with the terminal. (Most of the reedline errors at the moment don't seem to actionable for the library users)
from reedline.
Looking at the current state of the history system, I think we still have some serious gremlins lurking there.
See the unfinished error handling around how we deal with the different capabilities of SqliteHistory
and FileBackedHistory
(.expect("TODO: error handling")
doesn't sound like a long term solution). Also assumptions around how big the history minimally is seem to pop up as nushell/nushell#10826. We have some work to do here to make things more robust and easier to understand.
So I don't want to give any stability promises with regards to the API of the History
trait and related parts.
I don't want to discourage you from experimenting with implementing your own History
and reporting what pops up.
But keep in mind that we may be a moving target or prioritize robustness over total flexibility in the future (as some of the issues we see right now may be due to premature flexibility)
from reedline.
I just opened a PR for this at #661
from reedline.
I'm actually building a shell on top of reedline
. But it's a personal project that isn't designed for public use before it's entirely finished and heavily tested, so even if there are major API breakages it's not a problem for me :)
from reedline.
Related Issues (20)
- Confusions with session IDs HOT 2
- PROMPT_INDICATOR doesn't show up properly HOT 2
- ide menu does not correctly apply max_completion_height
- After `ExecuteHostCommand` is handled, new prompt is rendered HOT 1
- When prompt starting row is 0, new prompt is rendered on each key type HOT 5
- external_printer does not print until I press some key
- Implicit copy to system clipboard doesn't obey law of least surprise and poses potential security hazard HOT 10
- Suggestion about is_valid function of LineBuffer struct HOT 1
- Tab keybind doesnt work with modifiers HOT 5
- [QUESTION]: can I disable the indicator HOT 2
- `Move(Big)WordRightEnd` is off-by-1 in insert mode HOT 1
- New actions to cancel menu & accept-and-hold
- Index out of bounds HOT 8
- 0.30.0 (Nu 0.91.0) does not respect cursor position after host cmd exec in a keybinding HOT 10
- Prefix history search broken in vi-mode HOT 5
- `columnar_menu` panics on non-ASCII characters in directory
- Mouse controls HOT 1
- vi keybinds are wrong and/or inconsistent with readline HOT 2
- Modal Menus
- Default keybind for "newline" HOT 1
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 reedline.