-
Notifications
You must be signed in to change notification settings - Fork 158
Top level keybindings documentation #3155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Top level keybindings documentation #3155
Conversation
|
Neither SICStus nor SWI does this. Just keep |
I think REPL interaction commands are immediately relevant upon startup since users enter the REPL directly. Currently, discovering these keybindings is not straightforward, you need to execute a multi-result query and press Unlike manual information that covers broader usage, these keybindings are essential for basic interaction with the system right after launch. I see them as similar to command-line flags. I also don't think this makes the help command too verbose, and multiple users might benefit from easier access to these commands that they might not suspect exist. |
|
This should definitely be more discoverable in some way. I think stuff like this usually goes into a man page, but we don't have that yet. I feel like it's fine to put it into
Jujutsu does that, and it's pretty convenient in practice, though it's a completely different program. |
|
I was thinking that maybe we could have predicates to set and a predicate to display the help? |
|
@constraintAutomaton, @bakaq: What do you think about adding a more comprehensive I think you @jjtolton at one point already mentioned an info manual for Scryer, based on the existing documentation? |
I think it is a good idea! Do you have an example of how it would look? Like another software that does it the way you think it should be made? I can change this PR for doing that. |
|
Yes I have a handmade one. It was the "Scrib Notes" I mentioned briefly in my talk. We could probably make something automated. |
|
I generally prefer man to info, but that's probably because I don't use Emacs, which seems to have really good support for navigating info docs from what I'm hearing. Both are equally janky to use with the default CLI interface. There's probably software that can compile something like markdown into both man and info, so maybe we could even have both pretty easily? Though if we are going to do only one of them, then we should probably go with info because that's what the community seems more interested in. I never had to solve this problem before, so I'm note really aware of the available tools here, or the consequences for release and distribution. |
|
Oh, something that would be nice if we end up doing a "compile markdown to other formats" type of solution would be to also compile it for appearing in the https://scryer.pl site. I don't think it would be that difficult, but probably shouldn't be the first step. |
|
Sounds like a good usecase for DCGs 🥳 But I think first we should decide on the content? I am sorry @constraintAutomaton I feel like a TON of scope just got added to this story |
|
We could probably take some inspiration from sicstus: https://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/ |
I think there's a question of scope that needs to be decided here. My initial intention was to provide convenient top-level key bindings. If we take inspiration from Siscus, we could start by emulating sections introduction through 3.0, at least for this PR. Also what is stopping us from providing a man? Could we unified what would be in this |
Yes indeed, the SICStus info pages are a good example, and also the Emacs and Elisp info pages. For instance, in Emacs, try: |
|
Personally @constraintAutomaton I would just stick to the keybindings and we can open another issue for the Also it would be quite easy to simply procedurally generate the documentation, so it doesn't make much sense for you to spend a long time doing it by hand. |
Make sense, so than I am unsure then about what to do with this PR. Because I do still believe it is interesting to have this info ready at hand. |
In this PR, we introduce keybindings documentation in the usage description.
I decided to include the full keybinding documentation in the
-hcommand because to see the keybindings in the top level, you need to be inside a query that produces multiple results, which I think is not very convenient.Closes #3154