@mesadev/sdk 0.48.0 → 0.48.2
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/fs/grep-pattern.d.ts +28 -0
- package/dist/fs/grep-pattern.d.ts.map +1 -0
- package/dist/fs/grep-pattern.js +172 -0
- package/dist/fs/grep-pattern.js.map +1 -0
- package/dist/fs/mesa-file-system.d.ts.map +1 -1
- package/dist/fs/mesa-file-system.js +15 -7
- package/dist/fs/mesa-file-system.js.map +1 -1
- package/dist/fs/search-grep.d.ts +44 -0
- package/dist/fs/search-grep.d.ts.map +1 -0
- package/dist/fs/search-grep.js +208 -0
- package/dist/fs/search-grep.js.map +1 -0
- package/dist/fs/search-rg.d.ts +78 -6
- package/dist/fs/search-rg.d.ts.map +1 -1
- package/dist/fs/search-rg.js +80 -29
- package/dist/fs/search-rg.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translate a grep pattern into the regex dialect the search endpoint speaks.
|
|
3
|
+
*
|
|
4
|
+
* The dialect being matched is the one the sandbox's own grep implements,
|
|
5
|
+
* which compiles a Basic Regular Expression into RE2 syntax with a small state
|
|
6
|
+
* machine. Every rule here mirrors that machine rather than POSIX, so a served
|
|
7
|
+
* search selects the same lines the built-in would have.
|
|
8
|
+
*
|
|
9
|
+
* Anything that cannot be expressed returns `null`, and the caller falls back
|
|
10
|
+
* to the built-in rather than approximating.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Rewrite a Basic Regular Expression as a Rust regex.
|
|
14
|
+
*
|
|
15
|
+
* Returns `null` for anything with no equivalent: a backreference, an
|
|
16
|
+
* unterminated bracket, or a trailing backslash.
|
|
17
|
+
*/
|
|
18
|
+
export declare function breToRustRegex(pattern: string): string | null;
|
|
19
|
+
/**
|
|
20
|
+
* Rewrite an Extended Regular Expression as a Rust regex.
|
|
21
|
+
*
|
|
22
|
+
* The two dialects agree on structure, so the pattern passes through almost
|
|
23
|
+
* unchanged. Only the escapes need attention: a backreference cannot be
|
|
24
|
+
* expressed at all, and `\<` and `\>` are literal angle brackets here but word
|
|
25
|
+
* boundaries in Rust's regex.
|
|
26
|
+
*/
|
|
27
|
+
export declare function ereToRustRegex(pattern: string): string | null;
|
|
28
|
+
//# sourceMappingURL=grep-pattern.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep-pattern.d.ts","sourceRoot":"","sources":["../../src/fs/grep-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsDH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmB7D"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translate a grep pattern into the regex dialect the search endpoint speaks.
|
|
3
|
+
*
|
|
4
|
+
* The dialect being matched is the one the sandbox's own grep implements,
|
|
5
|
+
* which compiles a Basic Regular Expression into RE2 syntax with a small state
|
|
6
|
+
* machine. Every rule here mirrors that machine rather than POSIX, so a served
|
|
7
|
+
* search selects the same lines the built-in would have.
|
|
8
|
+
*
|
|
9
|
+
* Anything that cannot be expressed returns `null`, and the caller falls back
|
|
10
|
+
* to the built-in rather than approximating.
|
|
11
|
+
*/
|
|
12
|
+
/** Characters that are literal in a BRE but syntax in Rust's regex. */
|
|
13
|
+
const LITERAL_UNESCAPED = new Set(['+', '?', '(', ')', '{', '}', '|']);
|
|
14
|
+
/**
|
|
15
|
+
* Escapes that mean a literal character here and a word boundary in Rust's
|
|
16
|
+
* regex. Left alone they would silently match somewhere else.
|
|
17
|
+
*/
|
|
18
|
+
const LITERAL_WHEN_ESCAPED = new Set(['<', '>']);
|
|
19
|
+
/**
|
|
20
|
+
* Copy a bracket expression, or return `null` if it never closes.
|
|
21
|
+
*
|
|
22
|
+
* `[...]` means the same thing in both dialects, including POSIX classes like
|
|
23
|
+
* `[:alpha:]`. Two spellings need attention: a leading `!` negates like `^`,
|
|
24
|
+
* and a leading `]` is a literal member rather than the close.
|
|
25
|
+
*/
|
|
26
|
+
function readBracket(pattern, start) {
|
|
27
|
+
let index = start + 1;
|
|
28
|
+
let text = '[';
|
|
29
|
+
if (pattern[index] === '^' || pattern[index] === '!') {
|
|
30
|
+
text += '^';
|
|
31
|
+
index += 1;
|
|
32
|
+
}
|
|
33
|
+
if (pattern[index] === ']') {
|
|
34
|
+
text += '\\]';
|
|
35
|
+
index += 1;
|
|
36
|
+
}
|
|
37
|
+
while (index < pattern.length) {
|
|
38
|
+
const char = pattern[index];
|
|
39
|
+
if (char === ']') {
|
|
40
|
+
return { text: `${text}]`, next: index + 1 };
|
|
41
|
+
}
|
|
42
|
+
if (char === '[' && pattern[index + 1] === ':') {
|
|
43
|
+
const close = pattern.indexOf(':]', index);
|
|
44
|
+
if (close === -1)
|
|
45
|
+
return null;
|
|
46
|
+
text += pattern.slice(index, close + 2);
|
|
47
|
+
index = close + 2;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (char === '\\' && index + 1 < pattern.length) {
|
|
51
|
+
text += pattern.slice(index, index + 2);
|
|
52
|
+
index += 2;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
text += char;
|
|
56
|
+
index += 1;
|
|
57
|
+
}
|
|
58
|
+
// The built-in rejects an unterminated bracket outright; falling back lets
|
|
59
|
+
// it produce that error itself.
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Rewrite a Basic Regular Expression as a Rust regex.
|
|
64
|
+
*
|
|
65
|
+
* Returns `null` for anything with no equivalent: a backreference, an
|
|
66
|
+
* unterminated bracket, or a trailing backslash.
|
|
67
|
+
*/
|
|
68
|
+
export function breToRustRegex(pattern) {
|
|
69
|
+
let out = '';
|
|
70
|
+
let index = 0;
|
|
71
|
+
// `*` is a quantifier only after something to repeat. At the start of the
|
|
72
|
+
// pattern, after `\(` or `\|`, or after a `^` anchor or a literal `*`, it is
|
|
73
|
+
// a literal asterisk.
|
|
74
|
+
let atStart = true;
|
|
75
|
+
while (index < pattern.length) {
|
|
76
|
+
const char = pattern[index];
|
|
77
|
+
if (char === '\\') {
|
|
78
|
+
const next = pattern[index + 1];
|
|
79
|
+
if (next === undefined)
|
|
80
|
+
return null;
|
|
81
|
+
// Rust's regex crate has no backreferences, by design.
|
|
82
|
+
if (next >= '1' && next <= '9')
|
|
83
|
+
return null;
|
|
84
|
+
index += 2;
|
|
85
|
+
if (next === '(' || next === '|') {
|
|
86
|
+
out += next;
|
|
87
|
+
atStart = true;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
atStart = false;
|
|
91
|
+
if (next === ')') {
|
|
92
|
+
out += ')';
|
|
93
|
+
}
|
|
94
|
+
else if (next === '{') {
|
|
95
|
+
// `\{n\}` and `\{n,m\}` are intervals; any other `\{` is a literal.
|
|
96
|
+
const interval = /^(\d+)(,(\d*))?\\\}/.exec(pattern.slice(index));
|
|
97
|
+
if (interval) {
|
|
98
|
+
out += interval[2] === undefined ? `{${interval[1]}}` : `{${interval[1]},${interval[3]}}`;
|
|
99
|
+
index += interval[0].length;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
out += '\\{';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (LITERAL_WHEN_ESCAPED.has(next)) {
|
|
106
|
+
out += next;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Everything else keeps its escape: `\.`, `\+` and `\?` are literals
|
|
110
|
+
// in both dialects, and `\w`, `\s`, `\b` already agree.
|
|
111
|
+
out += `\\${next}`;
|
|
112
|
+
}
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (char === '[') {
|
|
116
|
+
const bracket = readBracket(pattern, index);
|
|
117
|
+
if (!bracket)
|
|
118
|
+
return null;
|
|
119
|
+
out += bracket.text;
|
|
120
|
+
index = bracket.next;
|
|
121
|
+
atStart = false;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
index += 1;
|
|
125
|
+
if (char === '*' && atStart) {
|
|
126
|
+
out += '\\*';
|
|
127
|
+
}
|
|
128
|
+
else if (char === '^') {
|
|
129
|
+
out += atStart ? '^' : '\\^';
|
|
130
|
+
}
|
|
131
|
+
else if (char === '$') {
|
|
132
|
+
// An anchor at the end of the pattern or of a group; a literal elsewhere.
|
|
133
|
+
const closesGroup = pattern[index] === '\\' && pattern[index + 1] === ')';
|
|
134
|
+
out += index === pattern.length || closesGroup ? '$' : '\\$';
|
|
135
|
+
atStart = false;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
out += LITERAL_UNESCAPED.has(char) ? `\\${char}` : char;
|
|
139
|
+
atStart = false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return out;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Rewrite an Extended Regular Expression as a Rust regex.
|
|
146
|
+
*
|
|
147
|
+
* The two dialects agree on structure, so the pattern passes through almost
|
|
148
|
+
* unchanged. Only the escapes need attention: a backreference cannot be
|
|
149
|
+
* expressed at all, and `\<` and `\>` are literal angle brackets here but word
|
|
150
|
+
* boundaries in Rust's regex.
|
|
151
|
+
*/
|
|
152
|
+
export function ereToRustRegex(pattern) {
|
|
153
|
+
let out = '';
|
|
154
|
+
let index = 0;
|
|
155
|
+
while (index < pattern.length) {
|
|
156
|
+
const char = pattern[index];
|
|
157
|
+
if (char !== '\\') {
|
|
158
|
+
out += char;
|
|
159
|
+
index += 1;
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const next = pattern[index + 1];
|
|
163
|
+
if (next === undefined)
|
|
164
|
+
return null;
|
|
165
|
+
if (next >= '1' && next <= '9')
|
|
166
|
+
return null;
|
|
167
|
+
out += LITERAL_WHEN_ESCAPED.has(next) ? next : `\\${next}`;
|
|
168
|
+
index += 2;
|
|
169
|
+
}
|
|
170
|
+
return out;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=grep-pattern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep-pattern.js","sourceRoot":"","sources":["../../src/fs/grep-pattern.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesa-file-system.d.ts","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,WAAW,EAChB,KAAK,cAAc,EAEnB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAEV,2BAA2B,EAK5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,MAAM,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mesa-file-system.d.ts","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { looksLikePrivateKey } from '../api/credentials.js';
|
|
|
3
3
|
import { InvalidOptionsError, MissingAccessTokenError } from '../lib/errors.js';
|
|
4
4
|
import { loadNativeAddon } from './native-loader.js';
|
|
5
5
|
import {} from './layout.js';
|
|
6
|
+
import { createSearchGrep } from './search-grep.js';
|
|
6
7
|
import { createSearchRg } from './search-rg.js';
|
|
7
8
|
/** Single-quote a word so the fallback interpreter sees it unchanged. */
|
|
8
9
|
function shellQuote(word) {
|
|
@@ -301,17 +302,24 @@ export class MesaFileSystem {
|
|
|
301
302
|
if (!serverSideSearch || !this.search) {
|
|
302
303
|
return new Bash(base);
|
|
303
304
|
}
|
|
304
|
-
// The built-in
|
|
305
|
-
// command line through a second interpreter
|
|
306
|
-
// once, on the first command that needs it
|
|
305
|
+
// The built-in commands are not exported, so a fallback runs the original
|
|
306
|
+
// command line through a second interpreter without the overrides. Built
|
|
307
|
+
// once, on the first command that needs it; the caller's directory and
|
|
308
|
+
// standard input travel with each call.
|
|
307
309
|
let builtIn;
|
|
308
|
-
const
|
|
309
|
-
builtIn ??= new Bash(
|
|
310
|
-
return builtIn.exec([
|
|
310
|
+
const fallbackTo = (name) => async (args, ctx) => {
|
|
311
|
+
builtIn ??= new Bash(base);
|
|
312
|
+
return builtIn.exec([name, ...args].map(shellQuote).join(' '), { cwd: ctx.cwd, stdin: ctx.stdin });
|
|
311
313
|
};
|
|
314
|
+
const search = { ...this.search };
|
|
315
|
+
// The caller's own commands come last so a `grep` or `rg` of theirs wins.
|
|
312
316
|
return new Bash({
|
|
313
317
|
...base,
|
|
314
|
-
customCommands: [
|
|
318
|
+
customCommands: [
|
|
319
|
+
createSearchRg(search, fallbackTo('rg')),
|
|
320
|
+
createSearchGrep(search, fallbackTo('grep')),
|
|
321
|
+
...(bashOptions.customCommands ?? []),
|
|
322
|
+
],
|
|
315
323
|
});
|
|
316
324
|
}
|
|
317
325
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesa-file-system.js","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mesa-file-system.js","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,GAUL,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAShF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA+D,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAA2B,MAAM,gBAAgB,CAAC;AA8JzE,yEAAyE;AACzE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC9C,CAAC;AAuBD,IAAI,YAAY,GAAwB,IAAI,CAAC;AAuB7C,gFAAgF;AAChF,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;KACZ,CAAC;AACJ,CAAC;AAkBD,SAAS,WAAW,CAClB,OAAkF;IAElF,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;AACvC,CAAC;AAED,kFAAkF;AAClF,gFAAgF;AAChF,iFAAiF;AACjF,uFAAuF;AACvF,wEAAwE;AAExE,SAAS,gBAAgB,CAAC,QAA4B;IACpD,OAAO,QAAQ,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAmB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,KAAuB;IAC3C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,0BAA0B;IACpB,MAAM,CAA8B;IAC7C,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,MAAmC,EAAE,OAA0B;QACzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,OAA0B;QAC3C,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAuB;IACrC;;;;OAIG;IACc,MAAM,CAAgD;IAEvE,YAAoB,cAAoC,EAAE,MAAqD;QAC7G,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,UAAkB;QACtC,YAAY,KAAK,eAAe,EAAE,CAAC;QACnC,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAA4B;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,6DAA6D,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3D,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtD,MAAM,UAAU,GAAiB;YAC/B,GAAG,IAAI;YACP,WAAW;YACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YAC5E,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;SAC5C,CAAC;QAEF,YAAY,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjF,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,KAAK;YAAE,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU;YAC9B,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACxF,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,IAAI,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAA+D;QAC1F,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,mBAAmB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,OAAoB,EACpB,OAAwD;QAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAY,EACZ,OAAoB,EACpB,OAAwD;QAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO;YACL,GAAG,CAAC;YACJ,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACL,GAAG,CAAC;YACJ,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAsB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QAQrC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,IAAY,EAAE,OAAmB;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,GAAW,EAAE,IAAY,EAAE,OAAmB;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,GAAW,EAAE,IAAY;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,IAAY;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAY;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,QAAgB;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAoB,EAAE,OAAe;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAAW,EAAE,KAAW;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,OAAsC;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,OAA0B;QAClC,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,2EAA2E;IAClE,MAAM,GAAc;QAC3B,GAAG,EAAE,KAAK,EAAE,IAAmB,EAAyB,EAAE;YACxD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAoB,EAAyB,EAAE;YAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAoB,EAAyB,EAAE;YAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAsB,EAAuB,EAAE;YAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAwC,EAA6B,EAAE;YACxF,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;KACF,CAAC;IAEF,2DAA2D;IAClD,QAAQ,GAAgB;QAC/B,MAAM,EAAE,KAAK,EAAE,IAAwB,EAAiB,EAAE;YACxD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAsB,EAAiB,EAAE;YACpD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAsB,EAAqB,EAAE;YACxD,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;IAEF,IAAI,CAAC,OAAyB;QAC5B,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,IAAmB,EAAE,CAAC;QACnF,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,wCAAwC;QACxC,IAAI,OAAyB,CAAC;QAC9B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,EAAE,IAAc,EAAE,GAAmB,EAAE,EAAE;YACjF,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACrG,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,0EAA0E;QAC1E,OAAO,IAAI,IAAI,CAAC;YACd,GAAG,IAAI;YACP,cAAc,EAAE;gBACd,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5C,GAAG,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A `grep -r` that searches next to the storage instead of walking the mount.
|
|
3
|
+
*
|
|
4
|
+
* This is a narrower replacement than the `rg` one, because grep's defaults
|
|
5
|
+
* differ from ripgrep's in ways that change answers rather than performance:
|
|
6
|
+
* patterns are Basic Regular Expressions, matching is case-sensitive, and
|
|
7
|
+
* recursion happens only with `-r` and a named path. Anything the built-in
|
|
8
|
+
* would reject, or answer from standard input, is left to the built-in, so a
|
|
9
|
+
* command line means the same thing whether or not the endpoint answered it.
|
|
10
|
+
*
|
|
11
|
+
* `-c` is left to the built-in for the same reason: grep counts every file it
|
|
12
|
+
* visited, printing `path:0` for the ones that did not match, and the endpoint
|
|
13
|
+
* reports only the files that did.
|
|
14
|
+
*/
|
|
15
|
+
import type { Command, CommandContext, ExecResult } from 'just-bash';
|
|
16
|
+
import { type Mount, type SearchLeg, type SearchRequest, type ServerSearchConfig, type Unservable } from './search-rg.js';
|
|
17
|
+
/** What grep was asked to do, once it is known to be answerable. */
|
|
18
|
+
type GrepQuery = {
|
|
19
|
+
legs: SearchLeg[];
|
|
20
|
+
target: {
|
|
21
|
+
typed: string;
|
|
22
|
+
absolute: string;
|
|
23
|
+
};
|
|
24
|
+
request: SearchRequest;
|
|
25
|
+
lineNumbers: boolean;
|
|
26
|
+
/** Recursive grep names the file on every line unless `-h` says not to. */
|
|
27
|
+
showFilename: boolean;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Translate a grep command line into one search, or explain why it cannot be.
|
|
31
|
+
*
|
|
32
|
+
* Only what the built-in accepts is accepted here, and only what the endpoint
|
|
33
|
+
* answers exactly is served. Everything else falls back.
|
|
34
|
+
*/
|
|
35
|
+
export declare function planGrep(args: string[], cwd: string, mounts: Mount[]): GrepQuery | Unservable;
|
|
36
|
+
/**
|
|
37
|
+
* Build the `grep` replacement.
|
|
38
|
+
*
|
|
39
|
+
* `fallback` runs the original command line through the built-in, and is
|
|
40
|
+
* called for anything this cannot answer exactly.
|
|
41
|
+
*/
|
|
42
|
+
export declare function createSearchGrep(config: ServerSearchConfig, fallback: (args: string[], ctx: CommandContext) => Promise<ExecResult>): Command;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=search-grep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-grep.d.ts","sourceRoot":"","sources":["../../src/fs/search-grep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAErE,OAAO,EAYL,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAExB,oEAAoE;AACpE,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,UAAU,CAkH7F;AAgCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,GACrE,OAAO,CAmCT"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A `grep -r` that searches next to the storage instead of walking the mount.
|
|
3
|
+
*
|
|
4
|
+
* This is a narrower replacement than the `rg` one, because grep's defaults
|
|
5
|
+
* differ from ripgrep's in ways that change answers rather than performance:
|
|
6
|
+
* patterns are Basic Regular Expressions, matching is case-sensitive, and
|
|
7
|
+
* recursion happens only with `-r` and a named path. Anything the built-in
|
|
8
|
+
* would reject, or answer from standard input, is left to the built-in, so a
|
|
9
|
+
* command line means the same thing whether or not the endpoint answered it.
|
|
10
|
+
*
|
|
11
|
+
* `-c` is left to the built-in for the same reason: grep counts every file it
|
|
12
|
+
* visited, printing `path:0` for the ones that did not match, and the endpoint
|
|
13
|
+
* reports only the files that did.
|
|
14
|
+
*/
|
|
15
|
+
import { breToRustRegex, ereToRustRegex } from './grep-pattern.js';
|
|
16
|
+
import { absolute, belowTarget, displayPath, expandShortFlags, isDirectory, isHidden, MAX_PARALLEL_LEGS, mapBounded, mountsFromLayout, resolveLegs, searchLeg, } from './search-rg.js';
|
|
17
|
+
/**
|
|
18
|
+
* Translate a grep command line into one search, or explain why it cannot be.
|
|
19
|
+
*
|
|
20
|
+
* Only what the built-in accepts is accepted here, and only what the endpoint
|
|
21
|
+
* answers exactly is served. Everything else falls back.
|
|
22
|
+
*/
|
|
23
|
+
export function planGrep(args, cwd, mounts) {
|
|
24
|
+
let pattern;
|
|
25
|
+
let patternFromFlag = false;
|
|
26
|
+
const positionals = [];
|
|
27
|
+
const includeGlobs = [];
|
|
28
|
+
const excludeGlobs = [];
|
|
29
|
+
let recursive = false;
|
|
30
|
+
let caseInsensitive = false;
|
|
31
|
+
let literal = false;
|
|
32
|
+
let extended = false;
|
|
33
|
+
let word = false;
|
|
34
|
+
let mode = 'lines';
|
|
35
|
+
let lineNumbers = false;
|
|
36
|
+
let showFilename = true;
|
|
37
|
+
const expanded = expandShortFlags(args, 'e');
|
|
38
|
+
for (let i = 0; i < expanded.length; i++) {
|
|
39
|
+
const arg = expanded[i] ?? '';
|
|
40
|
+
if (arg.startsWith('--include=') || arg.startsWith('--exclude=')) {
|
|
41
|
+
const glob = arg.slice('--include='.length);
|
|
42
|
+
// The built-in matches these against the basename alone and reads braces
|
|
43
|
+
// literally; the endpoint anchors a slashed glob at the repo root and
|
|
44
|
+
// expands braces. Neither is wrong, so neither is approximated.
|
|
45
|
+
if (/[/{]/.test(glob))
|
|
46
|
+
return { unservable: 'glob with a path or braces' };
|
|
47
|
+
(arg.startsWith('--include=') ? includeGlobs : excludeGlobs).push(glob);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (!arg.startsWith('-') || arg === '-') {
|
|
51
|
+
if (pattern === undefined && !patternFromFlag)
|
|
52
|
+
pattern = arg;
|
|
53
|
+
else
|
|
54
|
+
positionals.push(arg);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
switch (arg) {
|
|
58
|
+
case '-r':
|
|
59
|
+
case '-R':
|
|
60
|
+
case '--recursive':
|
|
61
|
+
recursive = true;
|
|
62
|
+
break;
|
|
63
|
+
case '-i':
|
|
64
|
+
case '--ignore-case':
|
|
65
|
+
caseInsensitive = true;
|
|
66
|
+
break;
|
|
67
|
+
case '-F':
|
|
68
|
+
case '--fixed-strings':
|
|
69
|
+
literal = true;
|
|
70
|
+
break;
|
|
71
|
+
case '-E':
|
|
72
|
+
case '--extended-regexp':
|
|
73
|
+
extended = true;
|
|
74
|
+
break;
|
|
75
|
+
case '-w':
|
|
76
|
+
case '--word-regexp':
|
|
77
|
+
word = true;
|
|
78
|
+
break;
|
|
79
|
+
case '-l':
|
|
80
|
+
case '--files-with-matches':
|
|
81
|
+
mode = 'files';
|
|
82
|
+
break;
|
|
83
|
+
case '-n':
|
|
84
|
+
case '--line-number':
|
|
85
|
+
lineNumbers = true;
|
|
86
|
+
break;
|
|
87
|
+
case '-h':
|
|
88
|
+
case '--no-filename':
|
|
89
|
+
showFilename = false;
|
|
90
|
+
break;
|
|
91
|
+
case '-e': {
|
|
92
|
+
const value = expanded[++i];
|
|
93
|
+
if (value === undefined)
|
|
94
|
+
return { unservable: '-e requires a pattern' };
|
|
95
|
+
// One pattern per search: a second would need a union the endpoint
|
|
96
|
+
// does not take.
|
|
97
|
+
if (patternFromFlag || pattern !== undefined)
|
|
98
|
+
return { unservable: 'more than one pattern' };
|
|
99
|
+
pattern = value;
|
|
100
|
+
patternFromFlag = true;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
default:
|
|
104
|
+
return { unservable: `${arg} is not supported by server-side search` };
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (pattern === undefined)
|
|
108
|
+
return { unservable: 'no pattern given' };
|
|
109
|
+
// Without -r, or without a path, the built-in reads a named file or standard
|
|
110
|
+
// input rather than walking anything.
|
|
111
|
+
if (!recursive || positionals.length === 0)
|
|
112
|
+
return { unservable: 'not a recursive search of a path' };
|
|
113
|
+
if (positionals.length > 1)
|
|
114
|
+
return { unservable: 'more than one search path' };
|
|
115
|
+
// `-F` is literal in both dialects and needs no translation.
|
|
116
|
+
let translated = pattern;
|
|
117
|
+
if (!literal) {
|
|
118
|
+
const converted = extended ? ereToRustRegex(pattern) : breToRustRegex(pattern);
|
|
119
|
+
if (converted === null)
|
|
120
|
+
return { unservable: 'pattern has no equivalent in the search dialect' };
|
|
121
|
+
translated = converted;
|
|
122
|
+
}
|
|
123
|
+
const typed = positionals[0];
|
|
124
|
+
const legs = resolveLegs(absolute(cwd, typed), mounts);
|
|
125
|
+
if ('unservable' in legs)
|
|
126
|
+
return legs;
|
|
127
|
+
return {
|
|
128
|
+
legs,
|
|
129
|
+
target: { typed, absolute: absolute(cwd, typed) },
|
|
130
|
+
request: {
|
|
131
|
+
pattern: translated,
|
|
132
|
+
mode,
|
|
133
|
+
caseMode: caseInsensitive ? 'insensitive' : 'sensitive',
|
|
134
|
+
literal,
|
|
135
|
+
word,
|
|
136
|
+
includeGlobs,
|
|
137
|
+
excludeGlobs,
|
|
138
|
+
},
|
|
139
|
+
lineNumbers,
|
|
140
|
+
showFilename,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Order paths the way a recursive walk over name-sorted directories visits
|
|
145
|
+
* them: segment by segment, so `utils/index.ts` precedes `utils.ts`.
|
|
146
|
+
*/
|
|
147
|
+
function walkOrder(a, b) {
|
|
148
|
+
const left = a.split('/');
|
|
149
|
+
const right = b.split('/');
|
|
150
|
+
for (let i = 0; i < Math.min(left.length, right.length); i++) {
|
|
151
|
+
const l = left[i];
|
|
152
|
+
const r = right[i];
|
|
153
|
+
if (l !== r)
|
|
154
|
+
return l < r ? -1 : 1;
|
|
155
|
+
}
|
|
156
|
+
return left.length - right.length;
|
|
157
|
+
}
|
|
158
|
+
/** Render results the way grep does. `-h` does not reach `-l`, whose answer is the path. */
|
|
159
|
+
function format(matches, query) {
|
|
160
|
+
if (query.request.mode === 'files') {
|
|
161
|
+
return matches.map(({ path }) => `${path}\n`).join('');
|
|
162
|
+
}
|
|
163
|
+
return matches
|
|
164
|
+
.flatMap(({ path, match }) => match.lines.map((line) => `${query.showFilename ? `${path}:` : ''}${query.lineNumbers ? `${line.line_number}:` : ''}${line.text}\n`))
|
|
165
|
+
.join('');
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Build the `grep` replacement.
|
|
169
|
+
*
|
|
170
|
+
* `fallback` runs the original command line through the built-in, and is
|
|
171
|
+
* called for anything this cannot answer exactly.
|
|
172
|
+
*/
|
|
173
|
+
export function createSearchGrep(config, fallback) {
|
|
174
|
+
const mounts = mountsFromLayout(config.layout);
|
|
175
|
+
return {
|
|
176
|
+
name: 'grep',
|
|
177
|
+
async execute(args, ctx) {
|
|
178
|
+
const plan = planGrep(args, ctx.cwd, mounts);
|
|
179
|
+
if ('unservable' in plan || !(await isDirectory(ctx, plan.target.absolute))) {
|
|
180
|
+
return fallback(args, ctx);
|
|
181
|
+
}
|
|
182
|
+
let found;
|
|
183
|
+
try {
|
|
184
|
+
const perLeg = await mapBounded(plan.legs, MAX_PARALLEL_LEGS, async (leg) => {
|
|
185
|
+
const root = leg.mount.path === '/' ? '' : leg.mount.path;
|
|
186
|
+
const kept = [];
|
|
187
|
+
for await (const match of searchLeg(config, leg, plan.request)) {
|
|
188
|
+
const suffix = belowTarget(`${root}/${match.path}`, plan.target);
|
|
189
|
+
// The built-in walks past dot-prefixed entries during recursion,
|
|
190
|
+
// even though POSIX grep does not.
|
|
191
|
+
if (isHidden(suffix))
|
|
192
|
+
continue;
|
|
193
|
+
kept.push({ path: displayPath(suffix, plan.target), match });
|
|
194
|
+
}
|
|
195
|
+
return kept;
|
|
196
|
+
});
|
|
197
|
+
// The built-in walks the tree in sorted order and the endpoint does not.
|
|
198
|
+
found = perLeg.flat().sort((a, b) => walkOrder(a.path, b.path));
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return fallback(args, ctx);
|
|
202
|
+
}
|
|
203
|
+
// grep's convention: 0 when something matched, 1 when nothing did.
|
|
204
|
+
return { stdout: format(found, plan), stderr: '', exitCode: found.length > 0 ? 0 : 1 };
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=search-grep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-grep.js","sourceRoot":"","sources":["../../src/fs/search-grep.ts"],"names":[],"mappings":"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"}
|
package/dist/fs/search-rg.d.ts
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import type { Command, CommandContext, ExecResult } from 'just-bash';
|
|
19
19
|
import type { Layout } from './layout.js';
|
|
20
20
|
/** One repository as it appears in the mount namespace. */
|
|
21
|
-
type Mount = {
|
|
21
|
+
export type Mount = {
|
|
22
22
|
/** Absolute path in the mount where this repository's root sits. */
|
|
23
23
|
path: string;
|
|
24
24
|
repo: string;
|
|
@@ -26,7 +26,7 @@ type Mount = {
|
|
|
26
26
|
changeId?: string;
|
|
27
27
|
};
|
|
28
28
|
/** One repository's share of a search. */
|
|
29
|
-
type SearchLeg = {
|
|
29
|
+
export type SearchLeg = {
|
|
30
30
|
mount: Mount;
|
|
31
31
|
/** Repo-relative directory to search under. */
|
|
32
32
|
pathPrefix: string;
|
|
@@ -48,16 +48,35 @@ type SearchQuery = {
|
|
|
48
48
|
typed: string;
|
|
49
49
|
absolute: string;
|
|
50
50
|
};
|
|
51
|
+
hidden: boolean;
|
|
52
|
+
request: SearchRequest;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* One search, in the endpoint's own vocabulary rather than any command's.
|
|
56
|
+
*
|
|
57
|
+
* `rg` and `grep` disagree about defaults — smart case against case-sensitive,
|
|
58
|
+
* Rust regex against a translated BRE — so each planner spells out what it
|
|
59
|
+
* means here and the request is sent as written.
|
|
60
|
+
*/
|
|
61
|
+
export type SearchRequest = {
|
|
51
62
|
pattern: string;
|
|
52
63
|
mode: 'lines' | 'count' | 'files';
|
|
53
|
-
caseMode
|
|
64
|
+
caseMode: 'smart' | 'sensitive' | 'insensitive';
|
|
54
65
|
literal: boolean;
|
|
55
66
|
word: boolean;
|
|
56
|
-
|
|
57
|
-
|
|
67
|
+
includeGlobs: string[];
|
|
68
|
+
excludeGlobs: string[];
|
|
58
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* Searches issued at once for a single command.
|
|
72
|
+
*
|
|
73
|
+
* The server admits a small number of concurrent searches per task, so a
|
|
74
|
+
* layout with many nested repositories would otherwise let one `rg` fill the
|
|
75
|
+
* queue by itself and stall every other caller.
|
|
76
|
+
*/
|
|
77
|
+
export declare const MAX_PARALLEL_LEGS = 4;
|
|
59
78
|
/** Why a command line could not be served, phrased for the reader of a log. */
|
|
60
|
-
type Unservable = {
|
|
79
|
+
export type Unservable = {
|
|
61
80
|
unservable: string;
|
|
62
81
|
};
|
|
63
82
|
export type ServerSearchConfig = {
|
|
@@ -77,6 +96,9 @@ export type ServerSearchConfig = {
|
|
|
77
96
|
* mount containing a path is the one that owns it.
|
|
78
97
|
*/
|
|
79
98
|
export declare function mountsFromLayout(layout: Layout): Mount[];
|
|
99
|
+
/** Absolute form of a path as typed on the command line. */
|
|
100
|
+
export declare function absolute(cwd: string, path: string): string;
|
|
101
|
+
export declare function resolveLegs(target: string, mounts: Mount[]): SearchLeg[] | Unservable;
|
|
80
102
|
/**
|
|
81
103
|
* Translate a ripgrep command line into one search.
|
|
82
104
|
*
|
|
@@ -84,6 +106,43 @@ export declare function mountsFromLayout(layout: Layout): Mount[];
|
|
|
84
106
|
* approximating, because a flag that silently does nothing changes the answer.
|
|
85
107
|
*/
|
|
86
108
|
export declare function planSearch(args: string[], cwd: string, mounts: Mount[]): SearchQuery | Unservable;
|
|
109
|
+
export type SearchMatch = {
|
|
110
|
+
path: string;
|
|
111
|
+
line_count: number;
|
|
112
|
+
lines: {
|
|
113
|
+
line_number: number;
|
|
114
|
+
text: string;
|
|
115
|
+
}[];
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Run one leg's search, yielding each matching file as its row arrives.
|
|
119
|
+
*
|
|
120
|
+
* Shared by both command overrides so there is a single place that knows how
|
|
121
|
+
* the endpoint is addressed and how its rows arrive.
|
|
122
|
+
*/
|
|
123
|
+
export declare function searchLeg(config: ServerSearchConfig, leg: SearchLeg, request: SearchRequest): AsyncGenerator<SearchMatch>;
|
|
124
|
+
/**
|
|
125
|
+
* Whether the search target is a directory the endpoint can search under.
|
|
126
|
+
*
|
|
127
|
+
* The endpoint's path prefix names a directory, so a file operand or a missing
|
|
128
|
+
* path would come back empty where the built-in prints the file's matches or
|
|
129
|
+
* its own error. Either way the built-in has to answer.
|
|
130
|
+
*/
|
|
131
|
+
export declare function isDirectory(ctx: CommandContext, path: string): Promise<boolean>;
|
|
132
|
+
/** The part of a path below the directory the caller named. */
|
|
133
|
+
export declare function belowTarget(absolutePath: string, target: {
|
|
134
|
+
absolute: string;
|
|
135
|
+
}): string;
|
|
136
|
+
/**
|
|
137
|
+
* Name a file the way ripgrep would, given how the caller named the directory.
|
|
138
|
+
*
|
|
139
|
+
* `rg love sonnets` reports `sonnets/x.md`, `rg love /repo/sonnets` reports
|
|
140
|
+
* `/repo/sonnets/x.md`, and a bare `rg love` reports paths relative to the
|
|
141
|
+
* working directory.
|
|
142
|
+
*/
|
|
143
|
+
export declare function displayPath(suffix: string, target: {
|
|
144
|
+
typed: string;
|
|
145
|
+
}): string;
|
|
87
146
|
/**
|
|
88
147
|
* Whether ripgrep would have walked past this file without opening it.
|
|
89
148
|
*
|
|
@@ -121,6 +180,19 @@ export declare function gitignoreExcludes(files: {
|
|
|
121
180
|
path: string;
|
|
122
181
|
lines: string[];
|
|
123
182
|
}[]): string[] | null;
|
|
183
|
+
/**
|
|
184
|
+
* Split clustered short flags into separate ones.
|
|
185
|
+
*
|
|
186
|
+
* `-rn` means `-r -n`, which is how people actually type these commands. The
|
|
187
|
+
* built-in clusters boolean flags only — `-re PATTERN` is an error there rather
|
|
188
|
+
* than a pattern flag — so a cluster naming any flag that takes a value is left
|
|
189
|
+
* whole, and the built-in gets to reject it in its own words.
|
|
190
|
+
*
|
|
191
|
+
* `valueFlags` is the set of short flags that consume the next argument.
|
|
192
|
+
*/
|
|
193
|
+
export declare function expandShortFlags(args: string[], valueFlags: string): string[];
|
|
194
|
+
/** Run `work` over `items`, at most `limit` at a time, preserving input order. */
|
|
195
|
+
export declare function mapBounded<T, R>(items: T[], limit: number, work: (item: T) => Promise<R>): Promise<R[]>;
|
|
124
196
|
/**
|
|
125
197
|
* Build the `rg` replacement.
|
|
126
198
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-rg.d.ts","sourceRoot":"","sources":["../../src/fs/search-rg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,aAAa,CAAC;AAEhD,2DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"search-rg.d.ts","sourceRoot":"","sources":["../../src/fs/search-rg.ts"],"names":[],"mappings":"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"}
|
package/dist/fs/search-rg.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* layout with many nested repositories would otherwise let one `rg` fill the
|
|
23
23
|
* queue by itself and stall every other caller.
|
|
24
24
|
*/
|
|
25
|
-
const MAX_PARALLEL_LEGS = 4;
|
|
25
|
+
export const MAX_PARALLEL_LEGS = 4;
|
|
26
26
|
/**
|
|
27
27
|
* Flatten a layout into the repository roots it presents, longest path first.
|
|
28
28
|
*
|
|
@@ -59,7 +59,7 @@ function joinPath(base, segment) {
|
|
|
59
59
|
return trimmed === '' ? base || '/' : `${base}/${trimmed}`;
|
|
60
60
|
}
|
|
61
61
|
/** Absolute form of a path as typed on the command line. */
|
|
62
|
-
function absolute(cwd, path) {
|
|
62
|
+
export function absolute(cwd, path) {
|
|
63
63
|
if (path.startsWith('/'))
|
|
64
64
|
return path.replace(/\/+$/, '') || '/';
|
|
65
65
|
const base = cwd.replace(/\/+$/, '');
|
|
@@ -79,7 +79,7 @@ function absolute(cwd, path) {
|
|
|
79
79
|
function isUnder(child, parent) {
|
|
80
80
|
return parent === '/' ? child !== '/' : child.startsWith(`${parent}/`);
|
|
81
81
|
}
|
|
82
|
-
function resolveLegs(target, mounts) {
|
|
82
|
+
export function resolveLegs(target, mounts) {
|
|
83
83
|
const owner = mounts.find((mount) => target === mount.path || isUnder(target, mount.path));
|
|
84
84
|
// A target above every mount — the namespace root, most obviously — belongs
|
|
85
85
|
// to no repository but still covers several, so it yields a leg for each
|
|
@@ -104,11 +104,14 @@ function resolveLegs(target, mounts) {
|
|
|
104
104
|
* approximating, because a flag that silently does nothing changes the answer.
|
|
105
105
|
*/
|
|
106
106
|
export function planSearch(args, cwd, mounts) {
|
|
107
|
+
args = expandShortFlags(args, 'eg');
|
|
107
108
|
let pattern;
|
|
108
109
|
const targets = [];
|
|
109
110
|
const globs = [];
|
|
110
111
|
let mode = 'lines';
|
|
111
|
-
|
|
112
|
+
// The built-in `rg` is smart-case by default, unlike ripgrep itself, and the
|
|
113
|
+
// served answer has to agree with the one the fallback would give.
|
|
114
|
+
let caseMode = 'smart';
|
|
112
115
|
let literal = false;
|
|
113
116
|
let word = false;
|
|
114
117
|
let hidden = false;
|
|
@@ -191,13 +194,8 @@ export function planSearch(args, cwd, mounts) {
|
|
|
191
194
|
return {
|
|
192
195
|
legs,
|
|
193
196
|
target: { typed, absolute: absoluteTarget },
|
|
194
|
-
pattern,
|
|
195
|
-
mode,
|
|
196
|
-
caseMode,
|
|
197
|
-
literal,
|
|
198
|
-
word,
|
|
199
197
|
hidden,
|
|
200
|
-
globs,
|
|
198
|
+
request: { pattern, mode, caseMode, literal, word, includeGlobs: globs, excludeGlobs: [] },
|
|
201
199
|
};
|
|
202
200
|
}
|
|
203
201
|
/**
|
|
@@ -233,21 +231,20 @@ async function* searchEvents(url, config, doFetch) {
|
|
|
233
231
|
if (last !== '')
|
|
234
232
|
yield JSON.parse(last);
|
|
235
233
|
}
|
|
236
|
-
function buildUrl(config,
|
|
237
|
-
const params = new URLSearchParams({ q:
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
if (query.literal)
|
|
234
|
+
function buildUrl(config, request, leg) {
|
|
235
|
+
const params = new URLSearchParams({ q: request.pattern, mode: request.mode });
|
|
236
|
+
params.set('case', request.caseMode);
|
|
237
|
+
if (request.literal)
|
|
241
238
|
params.set('literal', 'true');
|
|
242
|
-
if (
|
|
239
|
+
if (request.word)
|
|
243
240
|
params.set('word', 'true');
|
|
244
241
|
if (leg.pathPrefix)
|
|
245
242
|
params.set('path', leg.pathPrefix);
|
|
246
|
-
for (const glob of
|
|
243
|
+
for (const glob of request.includeGlobs)
|
|
247
244
|
params.append('include', glob);
|
|
248
245
|
// Carve out what a nested mount covers, so the parent does not answer for
|
|
249
246
|
// paths the namespace shows as the child's.
|
|
250
|
-
for (const exclude of [...leg.excludes, ...
|
|
247
|
+
for (const exclude of [...leg.excludes, ...request.excludeGlobs])
|
|
251
248
|
params.append('exclude', exclude);
|
|
252
249
|
// A layout may pin either, and the server defaults to the repo's bookmark.
|
|
253
250
|
if (leg.mount.changeId)
|
|
@@ -256,8 +253,36 @@ function buildUrl(config, query, leg, extraExcludes = []) {
|
|
|
256
253
|
params.set('bookmark', leg.mount.bookmark);
|
|
257
254
|
return `${config.apiBaseUrl}/${config.org}/${leg.mount.repo}/search?${params}`;
|
|
258
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Run one leg's search, yielding each matching file as its row arrives.
|
|
258
|
+
*
|
|
259
|
+
* Shared by both command overrides so there is a single place that knows how
|
|
260
|
+
* the endpoint is addressed and how its rows arrive.
|
|
261
|
+
*/
|
|
262
|
+
export async function* searchLeg(config, leg, request) {
|
|
263
|
+
const doFetch = config.fetch ?? globalThis.fetch;
|
|
264
|
+
for await (const event of searchEvents(buildUrl(config, request, leg), config, doFetch)) {
|
|
265
|
+
if (event.type === 'match')
|
|
266
|
+
yield event;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Whether the search target is a directory the endpoint can search under.
|
|
271
|
+
*
|
|
272
|
+
* The endpoint's path prefix names a directory, so a file operand or a missing
|
|
273
|
+
* path would come back empty where the built-in prints the file's matches or
|
|
274
|
+
* its own error. Either way the built-in has to answer.
|
|
275
|
+
*/
|
|
276
|
+
export async function isDirectory(ctx, path) {
|
|
277
|
+
try {
|
|
278
|
+
return (await ctx.fs.stat(path)).isDirectory;
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
259
284
|
/** The part of a path below the directory the caller named. */
|
|
260
|
-
function belowTarget(absolutePath, target) {
|
|
285
|
+
export function belowTarget(absolutePath, target) {
|
|
261
286
|
return absolutePath.slice(target.absolute.length).replace(/^\/+/, '');
|
|
262
287
|
}
|
|
263
288
|
/**
|
|
@@ -267,7 +292,7 @@ function belowTarget(absolutePath, target) {
|
|
|
267
292
|
* `/repo/sonnets/x.md`, and a bare `rg love` reports paths relative to the
|
|
268
293
|
* working directory.
|
|
269
294
|
*/
|
|
270
|
-
function displayPath(suffix, target) {
|
|
295
|
+
export function displayPath(suffix, target) {
|
|
271
296
|
if (target.typed === '.' || target.typed === '')
|
|
272
297
|
return suffix;
|
|
273
298
|
return `${target.typed.replace(/\/+$/, '')}/${suffix}`;
|
|
@@ -359,8 +384,36 @@ async function ignoreExcludesFor(config, leg, doFetch) {
|
|
|
359
384
|
}
|
|
360
385
|
return gitignoreExcludes(files);
|
|
361
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Split clustered short flags into separate ones.
|
|
389
|
+
*
|
|
390
|
+
* `-rn` means `-r -n`, which is how people actually type these commands. The
|
|
391
|
+
* built-in clusters boolean flags only — `-re PATTERN` is an error there rather
|
|
392
|
+
* than a pattern flag — so a cluster naming any flag that takes a value is left
|
|
393
|
+
* whole, and the built-in gets to reject it in its own words.
|
|
394
|
+
*
|
|
395
|
+
* `valueFlags` is the set of short flags that consume the next argument.
|
|
396
|
+
*/
|
|
397
|
+
export function expandShortFlags(args, valueFlags) {
|
|
398
|
+
const expanded = [];
|
|
399
|
+
for (const [index, arg] of args.entries()) {
|
|
400
|
+
if (arg === '--') {
|
|
401
|
+
// Everything past this point is positional, clusters included.
|
|
402
|
+
expanded.push(...args.slice(index));
|
|
403
|
+
return expanded;
|
|
404
|
+
}
|
|
405
|
+
const isCluster = arg.length > 2 && arg.startsWith('-') && !arg.startsWith('--');
|
|
406
|
+
const letters = isCluster ? arg.slice(1) : '';
|
|
407
|
+
if (isCluster && ![...letters].some((letter) => valueFlags.includes(letter))) {
|
|
408
|
+
expanded.push(...[...letters].map((letter) => `-${letter}`));
|
|
409
|
+
continue;
|
|
410
|
+
}
|
|
411
|
+
expanded.push(arg);
|
|
412
|
+
}
|
|
413
|
+
return expanded;
|
|
414
|
+
}
|
|
362
415
|
/** Run `work` over `items`, at most `limit` at a time, preserving input order. */
|
|
363
|
-
async function mapBounded(items, limit, work) {
|
|
416
|
+
export async function mapBounded(items, limit, work) {
|
|
364
417
|
const results = new Array(items.length);
|
|
365
418
|
let next = 0;
|
|
366
419
|
const runner = async () => {
|
|
@@ -384,10 +437,10 @@ async function mapBounded(items, limit, work) {
|
|
|
384
437
|
* tidiness; `| sort` remains available to anyone who wants it.
|
|
385
438
|
*/
|
|
386
439
|
function format(matches, query) {
|
|
387
|
-
if (query.mode === 'files') {
|
|
440
|
+
if (query.request.mode === 'files') {
|
|
388
441
|
return matches.map(({ path }) => `${path}\n`).join('');
|
|
389
442
|
}
|
|
390
|
-
if (query.mode === 'count') {
|
|
443
|
+
if (query.request.mode === 'count') {
|
|
391
444
|
return matches.map(({ path, match }) => `${path}:${match.line_count}\n`).join('');
|
|
392
445
|
}
|
|
393
446
|
return matches
|
|
@@ -407,7 +460,7 @@ export function createSearchRg(config, fallback) {
|
|
|
407
460
|
name: 'rg',
|
|
408
461
|
async execute(args, ctx) {
|
|
409
462
|
const plan = planSearch(args, ctx.cwd, mounts);
|
|
410
|
-
if ('unservable' in plan) {
|
|
463
|
+
if ('unservable' in plan || !(await isDirectory(ctx, plan.target.absolute))) {
|
|
411
464
|
return fallback(args, ctx);
|
|
412
465
|
}
|
|
413
466
|
let responses;
|
|
@@ -425,13 +478,11 @@ export function createSearchRg(config, fallback) {
|
|
|
425
478
|
const kept = [];
|
|
426
479
|
// Rows are filtered and reshaped as they arrive, so a file the answer
|
|
427
480
|
// will not mention is never held.
|
|
428
|
-
for await (const
|
|
429
|
-
|
|
430
|
-
continue;
|
|
431
|
-
const suffix = belowTarget(`${root}/${event.path}`, plan.target);
|
|
481
|
+
for await (const match of searchLeg(config, leg, { ...plan.request, excludeGlobs: extra })) {
|
|
482
|
+
const suffix = belowTarget(`${root}/${match.path}`, plan.target);
|
|
432
483
|
if (!plan.hidden && isHidden(suffix))
|
|
433
484
|
continue;
|
|
434
|
-
kept.push({ path: displayPath(suffix, plan.target), match
|
|
485
|
+
kept.push({ path: displayPath(suffix, plan.target), match });
|
|
435
486
|
}
|
|
436
487
|
return kept;
|
|
437
488
|
});
|
package/dist/fs/search-rg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-rg.js","sourceRoot":"","sources":["../../src/fs/search-rg.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-rg.js","sourceRoot":"","sources":["../../src/fs/search-rg.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "0.48.
|
|
1
|
+
export declare const SDK_VERSION = "0.48.2";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mesadev/sdk",
|
|
3
|
-
"version": "0.48.
|
|
3
|
+
"version": "0.48.2",
|
|
4
4
|
"description": "Official Mesa TypeScript SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"node": ">=18"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@mesadev/mesafs-napi": "0.48.
|
|
29
|
-
"@mesadev/rest": "0.48.
|
|
28
|
+
"@mesadev/mesafs-napi": "0.48.2",
|
|
29
|
+
"@mesadev/rest": "0.48.2",
|
|
30
30
|
"just-bash": "^2.13.0",
|
|
31
31
|
"zod": "^4.3.6"
|
|
32
32
|
},
|