1import React, { createContext, forwardRef, useContext, useState } from 'react';
2import { Nothing } from 'folktale/maybe';
4export const PointCursorContext = createContext(null);
6// pointCursor is Maybe<number>
7function _usePointCursor(initialPointCursor = Nothing()) {
8 const [pointCursor, setPointCursor] = useState(initialPointCursor);
16export function PointCursorProvider({ initialPointCursor, children }) {
17 const pointCursor = _usePointCursor(initialPointCursor);
20 <PointCursorContext.Provider value={pointCursor}>
22 </PointCursorContext.Provider>
27export function usePointCursor() {
28 return useContext(PointCursorContext);
32export const withPointCursor = Component =>
33 forwardRef((props, ref) => (
34 <PointCursorContext.Consumer>
35 {pointCursor => <Component ref={ref} {...pointCursor} {...props} />}
36 </PointCursorContext.Consumer>
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list