The documentation should list the default keybindings and what they are bound to
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 516
- Forks
- 103
- PR merge metrics
- No merged PRs in 30d
Description
The documentation at http://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html#%28part._defining-shortcuts%29 does not list some of the default keybindings, e.g. c:/ to auto-complete.
It is also too difficult to change a keybinding, as one has to guess to what code it is bound. I suggest that we compile here a list of keybindings and what they are bound to, in the form of code that can be copy-pasted into a keybindings.rkt file and edited at will. Once this list is reasonably complete, we can add it to the documentation (caveat: posting here implies that your code will be published under DrRacket's documentation's license, please be sure that any non-trivial blobs of code can be re-published under that license).
@soegaard kindly pointed me to https://github.com/racket/drracket/blob/master/drracket/drracket/private/rep.rkt, which contains some (but not all) keybindings that we might want to add here, and to http://schemekeys.blogspot.fr/2007/05/keybinding-101-in-drscheme.html which contains a (somewhat outdated) list too.
There is also a partial list at http://docs.racket-lang.org/framework/Keymap.html?q=upcase-word#%28def._%28%28lib._framework%2Fmain..rkt%29._keymap~3asetup-global%29%29
I'll start with a few:
#lang s-exp framework/keybinding-lang
;; (keybinding "c:f9" (λ (editor event) TODO: add bookmark))
;; (keybinding "c:," (λ (editor event) TODO: go to previous error))
;; (keybinding "c:." (λ (editor event) TODO: go to next error))
;; …
(keybinding ")" (λ (editor event) (send editor balance-parens event)))
(keybinding "]" (λ (editor event) (send editor balance-parens event)))
(keybinding "}" (λ (editor event) (send editor balance-parens event)))
;; …
(keybinding "c:/" (λ (editor _) (send editor auto-complete)))
;; …
(keybinding "tab" (λ (editor event) (send (send editor get-keymap) call-function "tabify-at-caret" editor event #t)))
;; …
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the DrRacket Keyboard Shortcuts documentation, then compare its bindings with drracket/drracket/private/rep.rkt, the framework Keymap reference, and the linked older list. Compile a reasonably complete copy-pastable keybindings.rkt list, verify the bindings, and update the documentation with it.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100