@tooee/search 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/nav-search-store.d.ts +7 -7
- package/dist/nav-search-store.d.ts.map +1 -1
- package/dist/nav-search-store.js +11 -4
- package/dist/nav-search-store.js.map +1 -1
- package/dist/search-bar.d.ts +7 -2
- package/dist/search-bar.d.ts.map +1 -1
- package/dist/search-bar.js +1 -1
- package/dist/search-bar.js.map +1 -1
- package/dist/search-hook.d.ts.map +1 -1
- package/dist/search-hook.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +8 -0
- package/src/nav-search-store.ts +69 -10
- package/src/search-bar.tsx +7 -2
- package/src/search-hook.ts +12 -0
- package/src/search.ts +5 -0
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAS7D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -33,9 +33,9 @@ interface NavSearchEventDefinitions {
|
|
|
33
33
|
setCursor: {
|
|
34
34
|
index: number;
|
|
35
35
|
};
|
|
36
|
-
enterSelect:
|
|
37
|
-
cancelSelect:
|
|
38
|
-
toggleCurrent:
|
|
36
|
+
enterSelect: object;
|
|
37
|
+
cancelSelect: object;
|
|
38
|
+
toggleCurrent: object;
|
|
39
39
|
toggleAndMove: {
|
|
40
40
|
delta: number;
|
|
41
41
|
};
|
|
@@ -46,10 +46,10 @@ interface NavSearchEventDefinitions {
|
|
|
46
46
|
query: string;
|
|
47
47
|
matches: readonly number[];
|
|
48
48
|
};
|
|
49
|
-
searchSubmitted:
|
|
50
|
-
searchCancelled:
|
|
51
|
-
searchNext:
|
|
52
|
-
searchPrevious:
|
|
49
|
+
searchSubmitted: object;
|
|
50
|
+
searchCancelled: object;
|
|
51
|
+
searchNext: object;
|
|
52
|
+
searchPrevious: object;
|
|
53
53
|
}
|
|
54
54
|
export type NavSearchEvents = {
|
|
55
55
|
[EventName in keyof NavSearchEventDefinitions]: NavSearchEventDefinitions[EventName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-search-store.d.ts","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"nav-search-store.d.ts","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
|
package/dist/nav-search-store.js
CHANGED
|
@@ -37,12 +37,19 @@ const toggle = function toggle(ctx) {
|
|
|
37
37
|
}
|
|
38
38
|
return { ...ctx, toggledKeys };
|
|
39
39
|
};
|
|
40
|
-
const searchStep = function searchStep(ctx, delta, enqueue) {
|
|
40
|
+
const searchStep = function searchStep(ctx, delta, isSelectable, enqueue) {
|
|
41
41
|
if (ctx.search.matches.length === 0) {
|
|
42
42
|
return ctx;
|
|
43
43
|
}
|
|
44
44
|
const currentMatchIndex = (ctx.search.currentMatchIndex + delta + ctx.search.matches.length) % ctx.search.matches.length;
|
|
45
|
-
const
|
|
45
|
+
const match = ctx.search.matches[currentMatchIndex];
|
|
46
|
+
// A match can sit on a row that the cursor may not stop on, for example a
|
|
47
|
+
// heading. Resolve it the same way typing and Enter do. A store with no rows
|
|
48
|
+
// (a standalone `useSearch`) cannot check rows, so it keeps the match.
|
|
49
|
+
const cursor = ctx.rowKeys.length === 0 ? match : resolveIndex(match, delta, ctx.rowKeys.length, isSelectable);
|
|
50
|
+
if (cursor === null) {
|
|
51
|
+
return { ...ctx, search: { ...ctx.search, currentMatchIndex } };
|
|
52
|
+
}
|
|
46
53
|
enqueue.emit.jumped({ index: cursor });
|
|
47
54
|
return { ...ctx, cursor, search: { ...ctx.search, currentMatchIndex } };
|
|
48
55
|
};
|
|
@@ -150,8 +157,8 @@ export const createNavSearchStore = function createNavSearchStore(options = {})
|
|
|
150
157
|
},
|
|
151
158
|
};
|
|
152
159
|
},
|
|
153
|
-
searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, enqueue),
|
|
154
|
-
searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, enqueue),
|
|
160
|
+
searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, deps.isSelectable, enqueue),
|
|
161
|
+
searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, deps.isSelectable, enqueue),
|
|
155
162
|
searchStarted: (ctx, event) => ({
|
|
156
163
|
...ctx,
|
|
157
164
|
search: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-search-store.js","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nav-search-store.js","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
|
package/dist/search-bar.d.ts
CHANGED
|
@@ -3,9 +3,14 @@ export interface SearchBarProps {
|
|
|
3
3
|
query: string;
|
|
4
4
|
onQueryChange: (query: string) => void;
|
|
5
5
|
onSubmit: () => void;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated The bar never calls this. Escape reaches the `search-cancel`
|
|
8
|
+
* command that `useSearchBindings` registers, and that command cancels the
|
|
9
|
+
* search. The prop will be removed in a later release.
|
|
10
|
+
*/
|
|
11
|
+
onCancel?: () => void;
|
|
7
12
|
matchCount?: number;
|
|
8
13
|
currentMatch?: number;
|
|
9
14
|
}
|
|
10
|
-
export declare const SearchBar: ({ query, onQueryChange, onSubmit,
|
|
15
|
+
export declare const SearchBar: ({ query, onQueryChange, onSubmit, matchCount, currentMatch, }: SearchBarProps) => ReactNode;
|
|
11
16
|
//# sourceMappingURL=search-bar.d.ts.map
|
package/dist/search-bar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-bar.d.ts","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"search-bar.d.ts","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,kEAMnB,cAAc,KAAG,SAqCnB,CAAC"}
|
package/dist/search-bar.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
2
|
import { useTheme } from "@tooee/themes";
|
|
3
|
-
export const SearchBar = function SearchBar({ query, onQueryChange, onSubmit,
|
|
3
|
+
export const SearchBar = function SearchBar({ query, onQueryChange, onSubmit, matchCount, currentMatch, }) {
|
|
4
4
|
const { theme } = useTheme();
|
|
5
5
|
let matchDisplay = "";
|
|
6
6
|
if (matchCount !== undefined && matchCount > 0) {
|
package/dist/search-bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiBzC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,SAAS,CAAC,EAC1C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,GACG;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/C,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE;YACL,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SAChB,aAED,eAAM,OAAO,EAAC,GAAG,EAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAI,EACjD,gBACE,KAAK,EAAE,KAAK,EACZ,OAAO,QACP,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAC,aAAa,EAC7B,sBAAsB,EAAC,aAAa,EACpC,SAAS,EAAE,KAAK,CAAC,IAAI,EACrB,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GACtB,EACD,YAAY,CAAC,CAAC,CAAC,eAAM,OAAO,EAAE,IAAI,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,IACxF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-hook.d.ts","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"search-hook.d.ts","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAMD,eAAO,MAAM,iBAAiB,YAAuC;IACnE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,KAAG,cAyBH,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,cAAc,qCAMlB,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KACzE,WAiHF,CAAC;AAEF,eAAO,MAAM,SAAS,YAA+B,gBAAgB,KAAG,WAIvE,CAAC"}
|
package/dist/search-hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-hook.js","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAmB/B,MAAM,YAAY,GAAW,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"search-hook.js","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"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"}
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,SAAoC,MAAM,SAAS,MAAM,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,SAAoC,MAAM,SAAS,MAAM,KAAG,MAAM,EAwB/F,CAAC"}
|
package/dist/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tooee/search",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Search hook, utilities, and SearchBar component for Tooee",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"typecheck": "tsc --noEmit"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@tooee/commands": "0.
|
|
42
|
-
"@tooee/themes": "0.
|
|
41
|
+
"@tooee/commands": "0.13.0",
|
|
42
|
+
"@tooee/themes": "0.13.0",
|
|
43
43
|
"@xstate/store": "^4.2.3",
|
|
44
44
|
"@xstate/store-react": "^2"
|
|
45
45
|
},
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export { useSearch } from "./search-hook.js";
|
|
2
|
+
|
|
2
3
|
export { useNavSearchStore, useSearchBindings } from "./search-hook.js";
|
|
4
|
+
|
|
3
5
|
export { createNavSearchStore } from "./nav-search-store.js";
|
|
6
|
+
|
|
4
7
|
export type {
|
|
5
8
|
NavSearchStore,
|
|
6
9
|
NavSearchContext,
|
|
7
10
|
NavSearchEvents,
|
|
8
11
|
RowKey,
|
|
9
12
|
} from "./nav-search-store.js";
|
|
13
|
+
|
|
10
14
|
export {
|
|
11
15
|
selectCursor,
|
|
12
16
|
selectRowKeys,
|
|
@@ -20,7 +24,11 @@ export {
|
|
|
20
24
|
deriveSelection,
|
|
21
25
|
resolveIndex,
|
|
22
26
|
} from "./nav-search-store.js";
|
|
27
|
+
|
|
23
28
|
export type { UseSearchOptions, SearchState } from "./search-hook.js";
|
|
29
|
+
|
|
24
30
|
export { findMatchingLines } from "./search.js";
|
|
31
|
+
|
|
25
32
|
export { SearchBar } from "./search-bar.js";
|
|
33
|
+
|
|
26
34
|
export type { SearchBarProps } from "./search-bar.js";
|
package/src/nav-search-store.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Mode } from "@tooee/commands";
|
|
|
2
2
|
import { createStore } from "@xstate/store";
|
|
3
3
|
|
|
4
4
|
export type RowKey = string | number | bigint;
|
|
5
|
+
|
|
5
6
|
export type SearchStatus = "idle" | "editing" | "committed";
|
|
6
7
|
|
|
7
8
|
export interface NavSearchContext {
|
|
@@ -23,22 +24,24 @@ export interface NavSearchDeps {
|
|
|
23
24
|
isSelectable: (index: number) => boolean;
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
// An event without a payload uses `object`. xstate treats it the same as `{}`, which lint rejects.
|
|
26
28
|
interface NavSearchEventDefinitions {
|
|
27
29
|
rowsChanged: { keys: readonly RowKey[]; preserveCursorByKey?: boolean };
|
|
28
30
|
move: { delta: number };
|
|
29
31
|
jump: { index: number; direction: 1 | -1 };
|
|
30
32
|
setCursor: { index: number };
|
|
31
|
-
enterSelect:
|
|
32
|
-
cancelSelect:
|
|
33
|
-
toggleCurrent:
|
|
33
|
+
enterSelect: object;
|
|
34
|
+
cancelSelect: object;
|
|
35
|
+
toggleCurrent: object;
|
|
34
36
|
toggleAndMove: { delta: number };
|
|
35
37
|
searchStarted: { mode: Mode };
|
|
36
38
|
searchChanged: { query: string; matches: readonly number[] };
|
|
37
|
-
searchSubmitted:
|
|
38
|
-
searchCancelled:
|
|
39
|
-
searchNext:
|
|
40
|
-
searchPrevious:
|
|
39
|
+
searchSubmitted: object;
|
|
40
|
+
searchCancelled: object;
|
|
41
|
+
searchNext: object;
|
|
42
|
+
searchPrevious: object;
|
|
41
43
|
}
|
|
44
|
+
|
|
42
45
|
export type NavSearchEvents = {
|
|
43
46
|
[EventName in keyof NavSearchEventDefinitions]: NavSearchEventDefinitions[EventName];
|
|
44
47
|
};
|
|
@@ -47,6 +50,7 @@ interface NavSearchEmittedDefinitions {
|
|
|
47
50
|
restoreMode: { mode: Mode };
|
|
48
51
|
jumped: { index: number };
|
|
49
52
|
}
|
|
53
|
+
|
|
50
54
|
type NavSearchEmitted = {
|
|
51
55
|
[EventName in keyof NavSearchEmittedDefinitions]: NavSearchEmittedDefinitions[EventName];
|
|
52
56
|
};
|
|
@@ -60,21 +64,26 @@ export const resolveIndex = function resolveIndex(
|
|
|
60
64
|
if (rowCount <= 0) {
|
|
61
65
|
return null;
|
|
62
66
|
}
|
|
67
|
+
|
|
63
68
|
const max = rowCount - 1;
|
|
64
69
|
const clamped = Math.max(0, Math.min(target, max));
|
|
70
|
+
|
|
65
71
|
if (isSelectable(clamped)) {
|
|
66
72
|
return clamped;
|
|
67
73
|
}
|
|
74
|
+
|
|
68
75
|
for (let index = clamped + direction; index >= 0 && index <= max; index += direction) {
|
|
69
76
|
if (isSelectable(index)) {
|
|
70
77
|
return index;
|
|
71
78
|
}
|
|
72
79
|
}
|
|
80
|
+
|
|
73
81
|
for (let index = clamped - direction; index >= 0 && index <= max; index -= direction) {
|
|
74
82
|
if (isSelectable(index)) {
|
|
75
83
|
return index;
|
|
76
84
|
}
|
|
77
85
|
}
|
|
86
|
+
|
|
78
87
|
return null;
|
|
79
88
|
};
|
|
80
89
|
|
|
@@ -82,31 +91,51 @@ const toggle = function toggle(ctx: NavSearchContext): NavSearchContext {
|
|
|
82
91
|
if (ctx.cursor === null) {
|
|
83
92
|
return ctx;
|
|
84
93
|
}
|
|
94
|
+
|
|
85
95
|
const key = ctx.rowKeys[ctx.cursor];
|
|
96
|
+
|
|
86
97
|
if (key === undefined) {
|
|
87
98
|
return ctx;
|
|
88
99
|
}
|
|
100
|
+
|
|
89
101
|
const toggledKeys = new Set(ctx.toggledKeys);
|
|
102
|
+
|
|
90
103
|
if (toggledKeys.has(key)) {
|
|
91
104
|
toggledKeys.delete(key);
|
|
92
105
|
} else {
|
|
93
106
|
toggledKeys.add(key);
|
|
94
107
|
}
|
|
108
|
+
|
|
95
109
|
return { ...ctx, toggledKeys };
|
|
96
110
|
};
|
|
97
111
|
|
|
98
112
|
const searchStep = function searchStep(
|
|
99
113
|
ctx: NavSearchContext,
|
|
100
114
|
delta: 1 | -1,
|
|
115
|
+
isSelectable: (index: number) => boolean,
|
|
101
116
|
enqueue: { emit: { jumped: (event: { index: number }) => void } }
|
|
102
117
|
): NavSearchContext {
|
|
103
118
|
if (ctx.search.matches.length === 0) {
|
|
104
119
|
return ctx;
|
|
105
120
|
}
|
|
121
|
+
|
|
106
122
|
const currentMatchIndex =
|
|
107
123
|
(ctx.search.currentMatchIndex + delta + ctx.search.matches.length) % ctx.search.matches.length;
|
|
108
|
-
|
|
124
|
+
|
|
125
|
+
const match = ctx.search.matches[currentMatchIndex];
|
|
126
|
+
|
|
127
|
+
// A match can sit on a row that the cursor may not stop on, for example a
|
|
128
|
+
// heading. Resolve it the same way typing and Enter do. A store with no rows
|
|
129
|
+
// (a standalone `useSearch`) cannot check rows, so it keeps the match.
|
|
130
|
+
const cursor =
|
|
131
|
+
ctx.rowKeys.length === 0 ? match : resolveIndex(match, delta, ctx.rowKeys.length, isSelectable);
|
|
132
|
+
|
|
133
|
+
if (cursor === null) {
|
|
134
|
+
return { ...ctx, search: { ...ctx.search, currentMatchIndex } };
|
|
135
|
+
}
|
|
136
|
+
|
|
109
137
|
enqueue.emit.jumped({ index: cursor });
|
|
138
|
+
|
|
110
139
|
return { ...ctx, cursor, search: { ...ctx.search, currentMatchIndex } };
|
|
111
140
|
};
|
|
112
141
|
|
|
@@ -120,6 +149,7 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
120
149
|
) {
|
|
121
150
|
const deps = options.deps ?? { isSelectable: () => true };
|
|
122
151
|
const keys = options.keys ?? EMPTY_KEYS;
|
|
152
|
+
|
|
123
153
|
const resolve = (index: number, direction: 1 | -1, count = keys.length) =>
|
|
124
154
|
resolveIndex(index, direction, count, deps.isSelectable);
|
|
125
155
|
|
|
@@ -149,30 +179,36 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
149
179
|
ctx.rowKeys.length,
|
|
150
180
|
deps.isSelectable
|
|
151
181
|
);
|
|
182
|
+
|
|
152
183
|
// Emit even when the cursor is already on the target row, so a view
|
|
153
184
|
// can reveal a row the user scrolled away from.
|
|
154
185
|
if (cursor !== null) {
|
|
155
186
|
enqueue.emit.jumped({ index: cursor });
|
|
156
187
|
}
|
|
188
|
+
|
|
157
189
|
return { ...ctx, cursor };
|
|
158
190
|
},
|
|
159
191
|
move: (ctx, event) => {
|
|
160
192
|
if (ctx.cursor === null) {
|
|
161
193
|
return ctx;
|
|
162
194
|
}
|
|
195
|
+
|
|
163
196
|
const direction: 1 | -1 = event.delta < 0 ? -1 : 1;
|
|
197
|
+
|
|
164
198
|
const cursor = resolveIndex(
|
|
165
199
|
ctx.cursor + event.delta,
|
|
166
200
|
direction,
|
|
167
201
|
ctx.rowKeys.length,
|
|
168
202
|
deps.isSelectable
|
|
169
203
|
);
|
|
204
|
+
|
|
170
205
|
return cursor === null || cursor === ctx.cursor ? ctx : { ...ctx, cursor };
|
|
171
206
|
},
|
|
172
207
|
rowsChanged: (ctx, event) => {
|
|
173
208
|
const previousCursor = ctx.cursor;
|
|
174
209
|
const previousKey = previousCursor === null ? undefined : ctx.rowKeys[previousCursor];
|
|
175
210
|
let { cursor } = ctx;
|
|
211
|
+
|
|
176
212
|
if (event.keys.length === 0) {
|
|
177
213
|
cursor = null;
|
|
178
214
|
} else if (
|
|
@@ -200,13 +236,16 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
200
236
|
} else if (!deps.isSelectable(cursor)) {
|
|
201
237
|
cursor = resolveIndex(cursor, 1, event.keys.length, deps.isSelectable);
|
|
202
238
|
}
|
|
239
|
+
|
|
203
240
|
const available = new Set(event.keys);
|
|
204
241
|
const filtered = new Set([...ctx.toggledKeys].filter((key) => available.has(key)));
|
|
205
242
|
const toggledKeys = filtered.size === ctx.toggledKeys.size ? ctx.toggledKeys : filtered;
|
|
243
|
+
|
|
206
244
|
return { ...ctx, cursor, rowKeys: event.keys, toggledKeys };
|
|
207
245
|
},
|
|
208
246
|
searchCancelled: (ctx, _event, enqueue) => {
|
|
209
247
|
enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
|
|
248
|
+
|
|
210
249
|
return {
|
|
211
250
|
...ctx,
|
|
212
251
|
search: {
|
|
@@ -223,14 +262,17 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
223
262
|
const matchesUnchanged =
|
|
224
263
|
ctx.search.matches.length === event.matches.length &&
|
|
225
264
|
ctx.search.matches.every((match, index) => Object.is(match, event.matches[index]));
|
|
265
|
+
|
|
226
266
|
if (ctx.search.query === event.query && matchesUnchanged) {
|
|
227
267
|
return ctx;
|
|
228
268
|
}
|
|
229
269
|
|
|
230
270
|
const [first] = event.matches;
|
|
271
|
+
|
|
231
272
|
if (first !== undefined) {
|
|
232
273
|
enqueue.emit.jumped({ index: first });
|
|
233
274
|
}
|
|
275
|
+
|
|
234
276
|
return {
|
|
235
277
|
...ctx,
|
|
236
278
|
cursor:
|
|
@@ -245,8 +287,8 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
245
287
|
},
|
|
246
288
|
};
|
|
247
289
|
},
|
|
248
|
-
searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, enqueue),
|
|
249
|
-
searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, enqueue),
|
|
290
|
+
searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, deps.isSelectable, enqueue),
|
|
291
|
+
searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, deps.isSelectable, enqueue),
|
|
250
292
|
searchStarted: (ctx, event) => ({
|
|
251
293
|
...ctx,
|
|
252
294
|
search: {
|
|
@@ -260,10 +302,13 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
260
302
|
}),
|
|
261
303
|
searchSubmitted: (ctx, _event, enqueue) => {
|
|
262
304
|
const [first] = ctx.search.matches;
|
|
305
|
+
|
|
263
306
|
if (first !== undefined) {
|
|
264
307
|
enqueue.emit.jumped({ index: first });
|
|
265
308
|
}
|
|
309
|
+
|
|
266
310
|
enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
|
|
311
|
+
|
|
267
312
|
return {
|
|
268
313
|
...ctx,
|
|
269
314
|
cursor:
|
|
@@ -281,20 +326,25 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
281
326
|
setCursor: (ctx, event) => {
|
|
282
327
|
const direction: 1 | -1 = ctx.cursor !== null && event.index < ctx.cursor ? -1 : 1;
|
|
283
328
|
const cursor = resolveIndex(event.index, direction, ctx.rowKeys.length, deps.isSelectable);
|
|
329
|
+
|
|
284
330
|
return cursor === null ? ctx : { ...ctx, cursor };
|
|
285
331
|
},
|
|
286
332
|
toggleAndMove: (ctx, event) => {
|
|
287
333
|
const toggled = toggle(ctx);
|
|
334
|
+
|
|
288
335
|
if (toggled.cursor === null) {
|
|
289
336
|
return toggled;
|
|
290
337
|
}
|
|
338
|
+
|
|
291
339
|
const direction: 1 | -1 = event.delta < 0 ? -1 : 1;
|
|
340
|
+
|
|
292
341
|
const cursor = resolveIndex(
|
|
293
342
|
toggled.cursor + event.delta,
|
|
294
343
|
direction,
|
|
295
344
|
toggled.rowKeys.length,
|
|
296
345
|
deps.isSelectable
|
|
297
346
|
);
|
|
347
|
+
|
|
298
348
|
return cursor === null ? toggled : { ...toggled, cursor };
|
|
299
349
|
},
|
|
300
350
|
toggleCurrent: (ctx) => toggle(ctx),
|
|
@@ -305,15 +355,24 @@ export const createNavSearchStore = function createNavSearchStore(
|
|
|
305
355
|
export type NavSearchStore = ReturnType<typeof createNavSearchStore>;
|
|
306
356
|
|
|
307
357
|
export const selectCursor = (ctx: NavSearchContext) => ctx.cursor;
|
|
358
|
+
|
|
308
359
|
export const selectRowKeys = (ctx: NavSearchContext) => ctx.rowKeys;
|
|
360
|
+
|
|
309
361
|
export const selectSelectionAnchor = (ctx: NavSearchContext) => ctx.selectionAnchor;
|
|
362
|
+
|
|
310
363
|
export const selectToggledKeys = (ctx: NavSearchContext) => ctx.toggledKeys;
|
|
364
|
+
|
|
311
365
|
export const selectSearchStatus = (ctx: NavSearchContext) => ctx.search.status;
|
|
366
|
+
|
|
312
367
|
export const selectSearchActive = (ctx: NavSearchContext) => ctx.search.status === "editing";
|
|
368
|
+
|
|
313
369
|
export const selectSearchQuery = (ctx: NavSearchContext) =>
|
|
314
370
|
ctx.search.status === "editing" ? ctx.search.query : ctx.search.committedQuery;
|
|
371
|
+
|
|
315
372
|
export const selectMatches = (ctx: NavSearchContext) => ctx.search.matches;
|
|
373
|
+
|
|
316
374
|
export const selectCurrentMatchIndex = (ctx: NavSearchContext) => ctx.search.currentMatchIndex;
|
|
375
|
+
|
|
317
376
|
export const deriveSelection = function deriveSelection(ctx: NavSearchContext, mode: Mode) {
|
|
318
377
|
return mode === "select" && ctx.selectionAnchor !== null && ctx.cursor !== null
|
|
319
378
|
? {
|
package/src/search-bar.tsx
CHANGED
|
@@ -5,7 +5,12 @@ export interface SearchBarProps {
|
|
|
5
5
|
query: string;
|
|
6
6
|
onQueryChange: (query: string) => void;
|
|
7
7
|
onSubmit: () => void;
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated The bar never calls this. Escape reaches the `search-cancel`
|
|
10
|
+
* command that `useSearchBindings` registers, and that command cancels the
|
|
11
|
+
* search. The prop will be removed in a later release.
|
|
12
|
+
*/
|
|
13
|
+
onCancel?: () => void;
|
|
9
14
|
matchCount?: number;
|
|
10
15
|
currentMatch?: number;
|
|
11
16
|
}
|
|
@@ -14,13 +19,13 @@ export const SearchBar = function SearchBar({
|
|
|
14
19
|
query,
|
|
15
20
|
onQueryChange,
|
|
16
21
|
onSubmit,
|
|
17
|
-
onCancel: _onCancel,
|
|
18
22
|
matchCount,
|
|
19
23
|
currentMatch,
|
|
20
24
|
}: SearchBarProps): ReactNode {
|
|
21
25
|
const { theme } = useTheme();
|
|
22
26
|
|
|
23
27
|
let matchDisplay = "";
|
|
28
|
+
|
|
24
29
|
if (matchCount !== undefined && matchCount > 0) {
|
|
25
30
|
matchDisplay = `${(currentMatch ?? 0) + 1}/${matchCount}`;
|
|
26
31
|
} else if (matchCount === 0 && query.length > 0) {
|
package/src/search-hook.ts
CHANGED
|
@@ -29,6 +29,7 @@ export interface SearchState {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const CURSOR_MODES: Mode[] = ["cursor"];
|
|
32
|
+
|
|
32
33
|
const ALL_MODES: Mode[] = ["cursor", "select", "insert"];
|
|
33
34
|
|
|
34
35
|
export const useNavSearchStore = function useNavSearchStore(options: {
|
|
@@ -38,15 +39,19 @@ export const useNavSearchStore = function useNavSearchStore(options: {
|
|
|
38
39
|
}): NavSearchStore {
|
|
39
40
|
const depsRef = useRef<NavSearchDeps>({ isSelectable: options.isSelectable ?? (() => true) });
|
|
40
41
|
depsRef.current.isSelectable = options.isSelectable ?? (() => true);
|
|
42
|
+
|
|
41
43
|
const [store, setStore] = useState(() =>
|
|
42
44
|
createNavSearchStore({ deps: depsRef.current, keys: options.keys })
|
|
43
45
|
);
|
|
46
|
+
|
|
44
47
|
void setStore;
|
|
45
48
|
useEffect(() => {
|
|
46
49
|
const currentKeys = store.getSnapshot().context.rowKeys;
|
|
50
|
+
|
|
47
51
|
const keysChanged =
|
|
48
52
|
currentKeys.length !== options.keys.length ||
|
|
49
53
|
currentKeys.some((key, index) => !Object.is(key, options.keys[index]));
|
|
54
|
+
|
|
50
55
|
if (keysChanged) {
|
|
51
56
|
store.trigger.rowsChanged({
|
|
52
57
|
keys: options.keys,
|
|
@@ -54,6 +59,7 @@ export const useNavSearchStore = function useNavSearchStore(options: {
|
|
|
54
59
|
});
|
|
55
60
|
}
|
|
56
61
|
}, [store, options.keys, options.preserveCursorByKey]);
|
|
62
|
+
|
|
57
63
|
return store;
|
|
58
64
|
};
|
|
59
65
|
|
|
@@ -75,6 +81,7 @@ export const useSearchBindings = function useSearchBindings(
|
|
|
75
81
|
|
|
76
82
|
useEffect(() => {
|
|
77
83
|
const subscription = store.on("jumped", ({ index }) => onJumpRef.current?.(index));
|
|
84
|
+
|
|
78
85
|
return () => {
|
|
79
86
|
subscription.unsubscribe();
|
|
80
87
|
};
|
|
@@ -83,6 +90,7 @@ export const useSearchBindings = function useSearchBindings(
|
|
|
83
90
|
const subscription = store.on("restoreMode", ({ mode: restored }) => {
|
|
84
91
|
setMode(restored);
|
|
85
92
|
});
|
|
93
|
+
|
|
86
94
|
return () => {
|
|
87
95
|
subscription.unsubscribe();
|
|
88
96
|
};
|
|
@@ -91,6 +99,7 @@ export const useSearchBindings = function useSearchBindings(
|
|
|
91
99
|
const searchQuery = useSelector(store, (snapshot) => selectSearchQuery(snapshot.context));
|
|
92
100
|
const searchActive = useSelector(store, (snapshot) => selectSearchActive(snapshot.context));
|
|
93
101
|
const matchingLines = useSelector(store, (snapshot) => selectMatches(snapshot.context));
|
|
102
|
+
|
|
94
103
|
const currentMatchIndex = useSelector(store, (snapshot) =>
|
|
95
104
|
selectCurrentMatchIndex(snapshot.context)
|
|
96
105
|
);
|
|
@@ -111,8 +120,10 @@ export const useSearchBindings = function useSearchBindings(
|
|
|
111
120
|
) {
|
|
112
121
|
return;
|
|
113
122
|
}
|
|
123
|
+
|
|
114
124
|
depsRef.current = deps;
|
|
115
125
|
const query = selectSearchQuery(store.getSnapshot().context);
|
|
126
|
+
|
|
116
127
|
if (query) {
|
|
117
128
|
store.trigger.searchChanged({ matches: matchRef.current(query), query });
|
|
118
129
|
}
|
|
@@ -177,5 +188,6 @@ export const useSearchBindings = function useSearchBindings(
|
|
|
177
188
|
|
|
178
189
|
export const useSearch = function useSearch(options: UseSearchOptions): SearchState {
|
|
179
190
|
const store = useNavSearchStore({ keys: [] });
|
|
191
|
+
|
|
180
192
|
return useSearchBindings(store, options);
|
|
181
193
|
};
|
package/src/search.ts
CHANGED
|
@@ -2,19 +2,24 @@ export const findMatchingLines = function findMatchingLines(text: string, query:
|
|
|
2
2
|
if (!query) {
|
|
3
3
|
return [];
|
|
4
4
|
}
|
|
5
|
+
|
|
5
6
|
const lowerQuery = query.toLowerCase();
|
|
6
7
|
const results: number[] = [];
|
|
7
8
|
let lineStart = 0;
|
|
8
9
|
let lineNum = 0;
|
|
10
|
+
|
|
9
11
|
for (let i = 0; i <= text.length; i += 1) {
|
|
10
12
|
if (i === text.length || text[i] === "\n") {
|
|
11
13
|
const line = text.slice(lineStart, i).toLowerCase();
|
|
14
|
+
|
|
12
15
|
if (line.includes(lowerQuery)) {
|
|
13
16
|
results.push(lineNum);
|
|
14
17
|
}
|
|
18
|
+
|
|
15
19
|
lineStart = i + 1;
|
|
16
20
|
lineNum += 1;
|
|
17
21
|
}
|
|
18
22
|
}
|
|
23
|
+
|
|
19
24
|
return results;
|
|
20
25
|
};
|