@lsproxy/cli 0.3.0 → 0.4.1

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/README.md CHANGED
@@ -15,29 +15,82 @@ pnpm add -g @lsproxy/cli # or install globally
15
15
  ## Usage
16
16
 
17
17
  ```
18
- lspeasy <namespace> <command> [args] [flags]
19
- lspeasy call <method> --params <json>
18
+ lsproxy <namespace> <command> [args] [flags]
19
+ lsproxy call <method> --params <json>
20
20
  ```
21
21
 
22
22
  Commands are built from the server's capabilities at startup:
23
23
 
24
24
  ```bash
25
- lspeasy textDocument hover src/foo.ts 12:7
26
- lspeasy textDocument rename src/foo.ts 12:7 newName
27
- lspeasy textDocument references src/foo.ts 12:7
28
- lspeasy textDocument definition src/foo.ts 12:7
29
- lspeasy textDocument formatting src/foo.ts
30
- lspeasy textDocument rangeFormatting src/foo.ts 1:1-50:1
31
- lspeasy textDocument codeAction src/foo.ts 12:1-12:20
32
- lspeasy textDocument onTypeFormatting src/foo.ts 12:7 --ch ";" --on-type-formatting-tab-size 2 --on-type-formatting-insert-spaces true
33
- lspeasy workspace symbol MyClass
34
- lspeasy call textDocument/semanticTokens/full --params '{"textDocument":{"uri":"file:///…"}}'
25
+ lsproxy textDocument hover src/foo.ts 12:7
26
+ lsproxy textDocument rename src/foo.ts 12:7 newName
27
+ lsproxy textDocument references src/foo.ts 12:7
28
+ lsproxy textDocument definition src/foo.ts 12:7
29
+ lsproxy textDocument formatting src/foo.ts
30
+ lsproxy textDocument rangeFormatting src/foo.ts 1:1-50:1
31
+ lsproxy textDocument onTypeFormatting src/foo.ts 12:7 --ch ";" --on-type-formatting-tab-size 2 --on-type-formatting-insert-spaces true
32
+ lsproxy workspace symbol MyClass
33
+ lsproxy call textDocument/semanticTokens/full --params '{"textDocument":{"uri":"file:///…"}}'
35
34
  ```
36
35
 
37
36
  Positions are **1-based** (`line:col`, editor-style).
38
37
  Write-side commands (`rename`, `formatting`, code actions that produce edits)
39
38
  apply changes to disk automatically. Pass `--dry-run` to preview instead.
40
39
 
40
+ ### Code actions
41
+
42
+ `codeAction` returns a JSON array of available fixes and refactors for the given
43
+ range.
44
+
45
+ ```bash
46
+ lsproxy textDocument codeAction src/foo.ts 12:1-12:20
47
+ ```
48
+
49
+ ```json
50
+ [
51
+ { "title": "Add missing import", "kind": "quickfix" },
52
+ { "title": "Extract to variable", "kind": "refactor.extract.variable" },
53
+ { "title": "Convert to arrow function","kind": "refactor.rewrite",
54
+ "edit": { "changes": { "file:///src/foo.ts": [ ... ] } } }
55
+ ]
56
+ ```
57
+
58
+ **When exactly one** action in the result carries an `edit`, it is applied to
59
+ disk automatically. Use `--dry-run` to preview the diff instead:
60
+
61
+ ```bash
62
+ lsproxy textDocument codeAction --dry-run src/foo.ts 12:1-12:20
63
+ ```
64
+
65
+ When the server returns zero or multiple edit-bearing actions, the full JSON
66
+ array is printed and no files are changed — pick the one you want and re-run
67
+ with `--params` to apply it directly.
68
+
69
+ ## Help output
70
+
71
+ ```
72
+ lsproxy — LSP-driven CLI
73
+
74
+ Usage:
75
+ lsproxy <namespace> <command> [args]
76
+ lsproxy call <method> --params <json>
77
+
78
+ Available commands depend on the connected server's advertised capabilities.
79
+ Run with a file argument to see available commands for that language:
80
+ lsproxy textDocument hover --help src/foo.ts
81
+
82
+ Global flags:
83
+ --server <cmd> LSP server launch command (overrides lsp.json discovery)
84
+ --root <dir> Project root (default: cwd)
85
+ --dry-run Print changes; do not write
86
+ --json Machine-readable JSON on stdout; diagnostics to stderr
87
+ --wait <ms> Server index wait in ms (default: 15000)
88
+ --verbose Progress logging to stderr
89
+ --allow-outside-root Allow file paths outside --root
90
+ --no-proxy Bypass proxy daemon; connect directly to language server
91
+ -h, --help Show this help
92
+ ```
93
+
41
94
  ## Server discovery — `lsp.json`
42
95
 
43
96
  Without `--server`, the CLI discovers which server to launch by looking for an
@@ -145,13 +198,13 @@ after 30 minutes of idle time.
145
198
 
146
199
  ```bash
147
200
  # First invocation — daemon spawns, performs the initialize handshake (~1-3s)
148
- lspeasy textDocument hover src/foo.ts 1:1
201
+ lsproxy textDocument hover src/foo.ts 1:1
149
202
 
150
203
  # Subsequent invocations — reconnects via Unix socket (<100ms)
151
- lspeasy textDocument hover src/foo.ts 2:5
204
+ lsproxy textDocument hover src/foo.ts 2:5
152
205
 
153
206
  # Bypass the daemon entirely
154
- lspeasy --no-proxy textDocument hover src/foo.ts 1:1
207
+ lsproxy --no-proxy textDocument hover src/foo.ts 1:1
155
208
  ```
156
209
 
157
210
  Socket path: `~/.lsproxy/<hash(root)>.sock`
package/dist/apply.d.ts CHANGED
@@ -24,12 +24,16 @@ export interface LspTextEdit {
24
24
  range: LspRange;
25
25
  newText: string;
26
26
  }
27
+ type RawEdit = LspTextEdit | {
28
+ range: LspRange;
29
+ snippet: unknown;
30
+ };
27
31
  interface TextDocumentEdit {
28
32
  textDocument: {
29
33
  uri: string;
30
34
  version?: number | null;
31
35
  };
32
- edits: LspTextEdit[];
36
+ edits: RawEdit[];
33
37
  }
34
38
  interface CreateFileOp {
35
39
  kind: 'create';
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7D;AACD,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7D;AACD,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE;AAED,KAAK,cAAc,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAuCD,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAWzE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAmC7F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClC,aAAa,CAYf;AA+FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CA2C9F"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,KAAK,OAAO,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAOnE,UAAU,gBAAgB;IACxB,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7D;AACD,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7D;AACD,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE;AAED,KAAK,cAAc,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAuCD,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAWzE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAmC7F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClC,aAAa,CAYf;AA+FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAsD9F"}
package/dist/apply.js CHANGED
@@ -16,6 +16,10 @@ import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync
16
16
  import { dirname } from 'node:path';
17
17
  import { fileURLToPath } from 'node:url';
18
18
  import { assertTargetsInsideRoot } from './io.js';
19
+ /** Returns true for plain text edits; false for LSP 3.18 SnippetTextEdits. */
20
+ function isTextEdit(e) {
21
+ return 'newText' in e;
22
+ }
19
23
  /**
20
24
  * Collect every absolute filesystem path a {@link WorkspaceEdit} would touch —
21
25
  * text-edit targets, `create` uri, `rename` old AND new uri, and `delete` uri —
@@ -125,7 +129,7 @@ export function planWorkspaceEdit(edit, guard) {
125
129
  changes.push({
126
130
  kind: 'edit',
127
131
  path: fileURLToPath(dc.textDocument.uri),
128
- editCount: dc.edits.length
132
+ editCount: dc.edits.filter(isTextEdit).length
129
133
  });
130
134
  }
131
135
  }
@@ -299,7 +303,14 @@ export function applyWorkspaceEdit(edit, guard) {
299
303
  applied.push(change);
300
304
  }
301
305
  else {
302
- applied.push(applyTextWrite({ path: fileURLToPath(dc.textDocument.uri), edits: dc.edits }));
306
+ const snippetCount = dc.edits.filter((e) => !isTextEdit(e)).length;
307
+ if (snippetCount > 0) {
308
+ process.stderr.write(`warning: ${snippetCount} snippet edit(s) from server skipped (not supported by this tool)\n`);
309
+ }
310
+ applied.push(applyTextWrite({
311
+ path: fileURLToPath(dc.textDocument.uri),
312
+ edits: dc.edits.filter(isTextEdit)
313
+ }));
303
314
  }
304
315
  }
305
316
  return applied;
package/dist/apply.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -18,15 +18,15 @@ import { discoverServer } from '@lspeasy/core';
18
18
  import { RefactorSession } from './session.js';
19
19
  import { connectViaProxy } from './connect.js';
20
20
  import { buildCommandTree } from './build-commands.js';
21
- const STATIC_HELP = `lspeasy — LSP-driven CLI
21
+ const STATIC_HELP = `lsproxy — LSP-driven CLI
22
22
 
23
23
  Usage:
24
- lspeasy <namespace> <command> [args]
25
- lspeasy call <method> --params <json>
24
+ lsproxy <namespace> <command> [args]
25
+ lsproxy call <method> --params <json>
26
26
 
27
27
  Available commands depend on the connected server's advertised capabilities.
28
28
  Run with a file argument to see available commands for that language:
29
- lspeasy textDocument hover --help src/foo.ts
29
+ lsproxy textDocument hover --help src/foo.ts
30
30
 
31
31
  Global flags:
32
32
  --server <cmd> LSP server launch command (overrides lsp.json discovery)
@@ -160,7 +160,7 @@ async function main() {
160
160
  const absPath = resolvePathArg(subArgFile, flags);
161
161
  await session.open(absPath);
162
162
  }
163
- const program = new Command('lspeasy');
163
+ const program = new Command('lsproxy');
164
164
  // Declare global options so Commander does not reject them in pass 2
165
165
  program
166
166
  .option('--server <cmd>')
@@ -182,7 +182,7 @@ async function main() {
182
182
  * True when this module is the process entry point (vs. imported by a test).
183
183
  *
184
184
  * Compares resolved real paths of import.meta.url and argv[1]. The bin
185
- * (lspeasy) is installed as a symlink to dist/cli.js, so argv[1] is the
185
+ * (lsproxy) is installed as a symlink to dist/cli.js, so argv[1] is the
186
186
  * symlink path while import.meta.url is Node's realpath — a plain compare
187
187
  * would mismatch and never run main(). realpathSync on both sides makes the
188
188
  * symlinked-bin and direct-invocation cases agree.
package/dist/connect.js CHANGED
@@ -41,12 +41,12 @@ export async function connectViaProxy(opts) {
41
41
  const alreadyUp = existsSync(sockPath) && (await tryConnect(sockPath));
42
42
  if (!alreadyUp) {
43
43
  if (opts.verbose)
44
- process.stderr.write(`[lspeasy] spawning proxy daemon\n`);
44
+ process.stderr.write(`[lsproxy] spawning proxy daemon\n`);
45
45
  spawnDaemon(opts.root, sockPath);
46
46
  await pollForSocket(sockPath, POLL_TIMEOUT_MS);
47
47
  }
48
48
  if (opts.verbose)
49
- process.stderr.write(`[lspeasy] connecting via proxy ${sockPath}\n`);
49
+ process.stderr.write(`[lsproxy] connecting via proxy ${sockPath}\n`);
50
50
  const transport = new SocketTransport({ path: sockPath });
51
51
  await transport.waitForConnect();
52
52
  const sessionOpts = {
package/dist/session.d.ts CHANGED
@@ -21,7 +21,7 @@ export interface SessionOptions {
21
21
  languageId?: string;
22
22
  /** Milliseconds to wait for the server to index before the first request. */
23
23
  indexWaitMs?: number;
24
- /** Emit `[lspeasy] …` progress lines to stderr. */
24
+ /** Emit `[lsproxy] …` progress lines to stderr. */
25
25
  verbose?: boolean;
26
26
  /**
27
27
  * Pre-built transport to use instead of spawning a server process.
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAwFD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAuB;IACpC,mEAAmE;IACnE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAE9B;IACD,8DAA8D;IAC9D,KAAK,IAAI,aAAa,EAAE,CAIvB;CACF;AAgCD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAiC;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IAErD,YAAY,IAAI,EAAE,cAAc,EAO/B;IAED,OAAO,CAAC,GAAG;IAIX,wFAAwF;IAClF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA8C3B;IAED,qDAAqD;IAC/C,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5C;IAED;;;;;;;;OAQG;IACG,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAarF;IAED;;;;OAIG;IACH,iBAAiB,IAAI,aAAa,EAAE,CAEnC;IAED,IAAI,GAAG,IAAI,SAAS,CAEnB;IAED,IAAI,YAAY,IAAI,kBAAkB,CAErC;IAED,OAAO,CAAC,aAAa;IAKrB,wDAAwD;IAClD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;CACF"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAwFD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAuB;IACpC,mEAAmE;IACnE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAE9B;IACD,8DAA8D;IAC9D,KAAK,IAAI,aAAa,EAAE,CAIvB;CACF;AAgCD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAiC;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IAErD,YAAY,IAAI,EAAE,cAAc,EAO/B;IAED,OAAO,CAAC,GAAG;IAIX,wFAAwF;IAClF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA8C3B;IAED,qDAAqD;IAC/C,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5C;IAED;;;;;;;;OAQG;IACG,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAarF;IAED;;;;OAIG;IACH,iBAAiB,IAAI,aAAa,EAAE,CAEnC;IAED,IAAI,GAAG,IAAI,SAAS,CAEnB;IAED,IAAI,YAAY,IAAI,kBAAkB,CAErC;IAED,OAAO,CAAC,aAAa;IAKrB,wDAAwD;IAClD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;CACF"}
package/dist/session.js CHANGED
@@ -13,6 +13,14 @@ import { spawn } from 'node:child_process';
13
13
  import { readFileSync } from 'node:fs';
14
14
  import { basename, resolve } from 'node:path';
15
15
  import { pathToFileURL } from 'node:url';
16
+ const CLI_VERSION = (() => {
17
+ try {
18
+ return JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
19
+ }
20
+ catch {
21
+ return '0.0.0';
22
+ }
23
+ })();
16
24
  import { LSPClient } from '@lspeasy/client';
17
25
  import { NullLogger, tokenizeCommand } from '@lspeasy/core';
18
26
  import { StdioTransport } from '@lspeasy/core/node';
@@ -168,7 +176,7 @@ export class RefactorSession {
168
176
  }
169
177
  log(msg) {
170
178
  if (this.opts.verbose)
171
- process.stderr.write(`[lspeasy] ${msg}\n`);
179
+ process.stderr.write(`[lsproxy] ${msg}\n`);
172
180
  }
173
181
  /** Spawn the server (or reuse a pre-built transport) and complete the LSP handshake. */
174
182
  async start() {
@@ -189,13 +197,13 @@ export class RefactorSession {
189
197
  const proc = spawn(cmd, args, { cwd: this.opts.root });
190
198
  this.proc = proc;
191
199
  proc.on('error', (e) => {
192
- process.stderr.write(`[lspeasy] server spawn error: ${e.message}\n`);
200
+ process.stderr.write(`[lsproxy] server spawn error: ${e.message}\n`);
193
201
  });
194
202
  transport = new StdioTransport({ input: proc.stdout, output: proc.stdin });
195
203
  }
196
204
  const client = new LSPClient({
197
- name: 'lspeasy-cli',
198
- version: '0.1.0',
205
+ name: 'lsproxy-cli',
206
+ version: CLI_VERSION,
199
207
  capabilities: CLIENT_CAPABILITIES,
200
208
  rootUri,
201
209
  workspaceFolders: [{ uri: rootUri, name: basename(rootDir) }],
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsproxy/cli",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Standalone refactor CLI driving any LSP server: project-wide rename, file-move with importer updates, and move-symbol",
5
5
  "private": false,
6
6
  "keywords": [
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "type": "module",
28
28
  "bin": {
29
- "lspeasy": "./dist/cli.js"
29
+ "lsproxy": "./dist/cli.js"
30
30
  },
31
31
  "exports": {
32
32
  ".": {
@@ -44,17 +44,17 @@
44
44
  "access": "public"
45
45
  },
46
46
  "dependencies": {
47
- "commander": "^12.1.0",
47
+ "commander": "^15.0.0",
48
48
  "zod": "^4.4.3",
49
- "@lspeasy/client": "3.1.1",
50
- "@lspeasy/core": "2.3.0",
51
- "@lsproxy/proxy": "0.2.0"
49
+ "@lspeasy/client": "3.1.2",
50
+ "@lsproxy/proxy": "1.0.1",
51
+ "@lspeasy/core": "2.3.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "typescript": "^6.0.3"
55
55
  },
56
56
  "engines": {
57
- "node": ">=22.0.0"
57
+ "node": ">=22.12.0"
58
58
  },
59
59
  "scripts": {
60
60
  "build": "tsgo --build",
@@ -1,13 +0,0 @@
1
- /**
2
- * `lspeasy move-file <oldPath> <newPath>`
3
- *
4
- * Asks the server for importer path updates via `workspace/willRenameFiles`,
5
- * applies them, then physically moves the file. Uses `git mv` when the file is
6
- * tracked (so history follows), falling back to a plain rename.
7
- */
8
- import { type GlobalFlags } from '../io.js';
9
- export declare function runMoveFile(args: {
10
- oldPath: string;
11
- newPath: string;
12
- }, flags: GlobalFlags): Promise<void>;
13
- //# sourceMappingURL=move-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-file.d.ts","sourceRoot":"","sources":["../../src/commands/move-file.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAgC9E,wBAAsB,WAAW,CAC/B,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC1C,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -1,84 +0,0 @@
1
- /**
2
- * `lspeasy move-file <oldPath> <newPath>`
3
- *
4
- * Asks the server for importer path updates via `workspace/willRenameFiles`,
5
- * applies them, then physically moves the file. Uses `git mv` when the file is
6
- * tracked (so history follows), falling back to a plain rename.
7
- */
8
- import { execFileSync } from 'node:child_process';
9
- import { existsSync, mkdirSync, renameSync } from 'node:fs';
10
- import { dirname } from 'node:path';
11
- import { pathToFileURL } from 'node:url';
12
- import { applyWorkspaceEdit, planWorkspaceEdit, stripResourceOps } from '../apply.js';
13
- import { emitResult, fail, resolvePathArg } from '../io.js';
14
- import { RefactorSession } from '../session.js';
15
- function isGitTracked(root, path) {
16
- try {
17
- execFileSync('git', ['ls-files', '--error-unmatch', path], { cwd: root, stdio: 'ignore' });
18
- return true;
19
- }
20
- catch {
21
- return false;
22
- }
23
- }
24
- function physicallyMove(root, from, to, dryRun, overwrite) {
25
- if (!dryRun) {
26
- mkdirSync(dirname(to), { recursive: true });
27
- if (isGitTracked(root, from)) {
28
- // `git mv` refuses an existing destination; `-f` is required to clobber.
29
- const gitArgs = overwrite ? ['mv', '-f', from, to] : ['mv', from, to];
30
- execFileSync('git', gitArgs, { cwd: root });
31
- }
32
- else {
33
- renameSync(from, to);
34
- }
35
- }
36
- return { kind: 'rename', path: from, toPath: to };
37
- }
38
- export async function runMoveFile(args, flags) {
39
- const from = resolvePathArg(args.oldPath, flags);
40
- const to = resolvePathArg(args.newPath, flags);
41
- if (!existsSync(from))
42
- fail(`source file not found: ${from}`, flags.json);
43
- // Refuse to clobber an existing destination unless --overwrite was given.
44
- // `renameSync` (the untracked-file path) silently destroys the destination on
45
- // POSIX, and `git mv` (without -f) refuses — so guard up-front, before
46
- // spawning the server, so dry-run predicts the refusal too.
47
- if (existsSync(to) && !flags.overwrite) {
48
- fail(`destination already exists: ${to} (pass --overwrite to replace)`, flags.json);
49
- }
50
- const session = new RefactorSession({
51
- serverCommand: flags.server,
52
- root: flags.root,
53
- indexWaitMs: flags.waitMs,
54
- verbose: flags.verbose
55
- });
56
- try {
57
- await session.start();
58
- await session.openAndWait(from);
59
- const edit = await session.requestWithRetry(() => session.lsp.sendRequest('workspace/willRenameFiles', {
60
- files: [{ oldUri: pathToFileURL(from).href, newUri: pathToFileURL(to).href }]
61
- }));
62
- // A null edit just means no importers needed updating — still do the move.
63
- // Strip ONLY the rename the server folded in that duplicates our physical
64
- // move below (so `git mv` history is preserved); applying that rename here
65
- // too would double-move and break a re-run with "source not found". Other
66
- // resource ops the server emits (e.g. a `create shim.ts`) are preserved.
67
- const importerEdit = edit ? stripResourceOps(edit, { from, to }) : undefined;
68
- // Validate the SERVER-RETURNED edit against --root before applying it.
69
- const guard = { root: flags.root, allowOutsideRoot: flags.allowOutsideRoot };
70
- const importerChanges = importerEdit
71
- ? flags.dryRun
72
- ? planWorkspaceEdit(importerEdit, guard)
73
- : applyWorkspaceEdit(importerEdit, guard)
74
- : [];
75
- const moveChange = physicallyMove(flags.root, from, to, flags.dryRun, flags.overwrite);
76
- emitResult('move-file', [...importerChanges, moveChange], flags, {
77
- importerFilesUpdated: importerChanges.length
78
- });
79
- }
80
- finally {
81
- await session.stop();
82
- }
83
- }
84
- //# sourceMappingURL=move-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-file.js","sourceRoot":"","sources":["../../src/commands/move-file.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * `lspeasy move-symbol <file> <line:col> <targetFile>`
3
- *
4
- * Moves the symbol at the given position into `targetFile`, updating all
5
- * importers. Driven by `textDocument/codeAction` (kind `refactor.move`).
6
- *
7
- * Two server shapes are supported:
8
- * 1. The code action (or its `codeAction/resolve`) returns a `WorkspaceEdit`
9
- * directly — applied as-is.
10
- * 2. The action carries a `command`. We execute it via
11
- * `workspace/executeCommand`; many servers (notably
12
- * typescript-language-server's `_typescript.applyRefactoring`) then push
13
- * the edit back through a `workspace/applyEdit` request, which the session
14
- * captures. For TS, we inject the destination as
15
- * `interactiveRefactorArguments.targetFile` so the move targets an existing
16
- * file rather than prompting for a new one.
17
- */
18
- import { type WorkspaceEdit } from '../apply.js';
19
- import { type GlobalFlags } from '../io.js';
20
- interface LspCommand {
21
- title: string;
22
- command: string;
23
- arguments?: unknown[];
24
- }
25
- /**
26
- * A `textDocument/codeAction` response item. Per the LSP spec the response is
27
- * `(Command | CodeAction)[]`, so an item may be a full {@link CodeAction} OR a
28
- * raw {@link LspCommand} — the latter carries its payload in a TOP-LEVEL
29
- * `arguments` field (and `command` is then a `string`). We model both so a
30
- * command-only action's `arguments` are not dropped.
31
- */
32
- interface CodeAction {
33
- title: string;
34
- kind?: string;
35
- edit?: WorkspaceEdit;
36
- /** Nested command (CodeAction shape) or a command name (raw Command shape). */
37
- command?: LspCommand | string;
38
- /** Present only on the raw `Command` shape, alongside a string `command`. */
39
- arguments?: unknown[];
40
- data?: unknown;
41
- }
42
- /**
43
- * Normalize the `command` of a code action into an {@link LspCommand}, preserving
44
- * arguments for BOTH shapes:
45
- * - nested object command → used as-is;
46
- * - raw `Command` (string `command`) → its top-level `arguments` are retained
47
- * (dropping them left command-only `_typescript.applyRefactoring` moves with
48
- * an empty arg list, so the refactor could not run).
49
- */
50
- export declare function toLspCommand(action: CodeAction): LspCommand | undefined;
51
- /**
52
- * Resolve the ordered list of {@link WorkspaceEdit}s a `refactor.move` action
53
- * produces, honoring the LSP `edit` + `command` contract:
54
- * - if the action has an inline `edit`, it is applied FIRST;
55
- * - if it also (or instead) has a `command`, the command is executed AFTER the
56
- * inline edit, and EVERY edit the server then pushes via `workspace/applyEdit`
57
- * (possibly several, in sequence) is appended in arrival order.
58
- *
59
- * Pure with respect to disk: it only sequences edits. `execute` runs the command
60
- * (injecting the move target); `drainCapturedEdits` returns all server-pushed
61
- * edits captured since the last drain.
62
- */
63
- export declare function resolveMoveEdits(action: CodeAction, targetFile: string, execute: (cmd: LspCommand) => Promise<void>, drainCapturedEdits: () => WorkspaceEdit[]): Promise<WorkspaceEdit[]>;
64
- export declare function runMoveSymbol(args: {
65
- file: string;
66
- position: string;
67
- targetFile: string;
68
- }, flags: GlobalFlags): Promise<void>;
69
- export {};
70
- //# sourceMappingURL=move-symbol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-symbol.d.ts","sourceRoot":"","sources":["../../src/commands/move-symbol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAML,KAAK,WAAW,EAEjB,MAAM,UAAU,CAAC;AAGlB,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;CACvB;AACD;;;;;;GAMG;AACH,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAQvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3C,kBAAkB,EAAE,MAAM,aAAa,EAAE,GACxC,OAAO,CAAC,aAAa,EAAE,CAAC,CAS1B;AAyBD,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC5D,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CAmFf"}
@@ -1,154 +0,0 @@
1
- /**
2
- * `lspeasy move-symbol <file> <line:col> <targetFile>`
3
- *
4
- * Moves the symbol at the given position into `targetFile`, updating all
5
- * importers. Driven by `textDocument/codeAction` (kind `refactor.move`).
6
- *
7
- * Two server shapes are supported:
8
- * 1. The code action (or its `codeAction/resolve`) returns a `WorkspaceEdit`
9
- * directly — applied as-is.
10
- * 2. The action carries a `command`. We execute it via
11
- * `workspace/executeCommand`; many servers (notably
12
- * typescript-language-server's `_typescript.applyRefactoring`) then push
13
- * the edit back through a `workspace/applyEdit` request, which the session
14
- * captures. For TS, we inject the destination as
15
- * `interactiveRefactorArguments.targetFile` so the move targets an existing
16
- * file rather than prompting for a new one.
17
- */
18
- import { existsSync, readFileSync } from 'node:fs';
19
- import { pathToFileURL } from 'node:url';
20
- import { applyWorkspaceEdit, planWorkspaceEdit } from '../apply.js';
21
- import { emitResult, fail, parseLineCol, resolvePathArg, toLspPosition } from '../io.js';
22
- import { RefactorSession } from '../session.js';
23
- /**
24
- * Normalize the `command` of a code action into an {@link LspCommand}, preserving
25
- * arguments for BOTH shapes:
26
- * - nested object command → used as-is;
27
- * - raw `Command` (string `command`) → its top-level `arguments` are retained
28
- * (dropping them left command-only `_typescript.applyRefactoring` moves with
29
- * an empty arg list, so the refactor could not run).
30
- */
31
- export function toLspCommand(action) {
32
- if (!action.command)
33
- return undefined;
34
- if (typeof action.command === 'string') {
35
- const cmd = { title: action.title, command: action.command };
36
- if (action.arguments !== undefined)
37
- cmd.arguments = action.arguments;
38
- return cmd;
39
- }
40
- return action.command;
41
- }
42
- /**
43
- * Resolve the ordered list of {@link WorkspaceEdit}s a `refactor.move` action
44
- * produces, honoring the LSP `edit` + `command` contract:
45
- * - if the action has an inline `edit`, it is applied FIRST;
46
- * - if it also (or instead) has a `command`, the command is executed AFTER the
47
- * inline edit, and EVERY edit the server then pushes via `workspace/applyEdit`
48
- * (possibly several, in sequence) is appended in arrival order.
49
- *
50
- * Pure with respect to disk: it only sequences edits. `execute` runs the command
51
- * (injecting the move target); `drainCapturedEdits` returns all server-pushed
52
- * edits captured since the last drain.
53
- */
54
- export async function resolveMoveEdits(action, targetFile, execute, drainCapturedEdits) {
55
- const edits = [];
56
- if (action.edit)
57
- edits.push(action.edit);
58
- const cmd = toLspCommand(action);
59
- if (cmd) {
60
- await execute(injectTargetFile(cmd, targetFile));
61
- edits.push(...drainCapturedEdits());
62
- }
63
- return edits;
64
- }
65
- /** Inject the move destination into a tsserver `_typescript.applyRefactoring`
66
- * command argument so the symbol lands in an existing target file. */
67
- function injectTargetFile(cmd, targetFile) {
68
- if (cmd.command !== '_typescript.applyRefactoring' || !Array.isArray(cmd.arguments))
69
- return cmd;
70
- const arg0 = cmd.arguments[0];
71
- if (arg0 && typeof arg0 === 'object') {
72
- const obj = arg0;
73
- return {
74
- ...cmd,
75
- arguments: [
76
- {
77
- ...obj,
78
- refactor: 'Move to file',
79
- action: 'Move to file',
80
- interactiveRefactorArguments: { targetFile }
81
- },
82
- ...cmd.arguments.slice(1)
83
- ]
84
- };
85
- }
86
- return cmd;
87
- }
88
- export async function runMoveSymbol(args, flags) {
89
- const file = resolvePathArg(args.file, flags);
90
- const targetFile = resolvePathArg(args.targetFile, flags);
91
- const oneBased = parseLineCol(args.position);
92
- const pos = toLspPosition(oneBased);
93
- if (!existsSync(file))
94
- fail(`source file not found: ${file}`, flags.json);
95
- const session = new RefactorSession({
96
- serverCommand: flags.server,
97
- root: flags.root,
98
- indexWaitMs: flags.waitMs,
99
- verbose: flags.verbose
100
- });
101
- try {
102
- await session.start();
103
- await session.openAndWait(file);
104
- // Also open the target so the server knows its insertion context.
105
- if (existsSync(targetFile)) {
106
- await session.lsp.sendNotification('textDocument/didOpen', {
107
- textDocument: {
108
- uri: pathToFileURL(targetFile).href,
109
- languageId: 'typescript',
110
- version: 1,
111
- text: readFileSync(targetFile, 'utf8')
112
- }
113
- });
114
- }
115
- const range = { start: pos, end: pos };
116
- const actions = await session.requestWithRetry(() => session.lsp.sendRequest('textDocument/codeAction', {
117
- textDocument: { uri: pathToFileURL(file).href },
118
- range,
119
- context: { diagnostics: [], only: ['refactor.move'] }
120
- }));
121
- if (!actions || actions.length === 0) {
122
- fail('no refactor.move code action available at that position', flags.json);
123
- }
124
- // Prefer the move action; resolve it if it has no inline edit.
125
- let action = actions.find((a) => a.kind?.startsWith('refactor.move')) ?? actions[0];
126
- if (!action.edit && action.data !== undefined) {
127
- const resolved = (await session.lsp.sendRequest('codeAction/resolve', action));
128
- if (resolved)
129
- action = resolved;
130
- }
131
- // Validate every server-returned edit against --root before applying.
132
- const guard = { root: flags.root, allowOutsideRoot: flags.allowOutsideRoot };
133
- const applyEdit = (e) => flags.dryRun ? planWorkspaceEdit(e, guard) : applyWorkspaceEdit(e, guard);
134
- // Per the LSP spec, a CodeAction may carry BOTH an inline `edit` and a
135
- // `command`: apply the edit FIRST, then execute the command (not either/or).
136
- // The command may itself push further edits via workspace/applyEdit, possibly
137
- // several in sequence — drain them ALL in order. (See resolveMoveEdits.)
138
- const edits = await resolveMoveEdits(action, targetFile, async (cmd) => {
139
- await session.lsp.sendRequest('workspace/executeCommand', {
140
- command: cmd.command,
141
- arguments: cmd.arguments ?? []
142
- });
143
- }, () => session.takeCapturedEdits());
144
- if (edits.length === 0) {
145
- fail('move-symbol produced no edit (server did not return or apply one)', flags.json);
146
- }
147
- const changes = edits.flatMap(applyEdit);
148
- emitResult('move-symbol', changes, flags, { targetFile });
149
- }
150
- finally {
151
- await session.stop();
152
- }
153
- }
154
- //# sourceMappingURL=move-symbol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-symbol.js","sourceRoot":"","sources":["../../src/commands/move-symbol.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * `lspeasy query <op> <file> <line:col>`
3
- *
4
- * Read-only parity ops (definition / references / hover) exposed for terminals
5
- * and CI that want the same position-driven interface as the write commands.
6
- * Always emits JSON on stdout (these are data ops, not edits).
7
- */
8
- import { type GlobalFlags } from '../io.js';
9
- export declare function runQuery(args: {
10
- op: string;
11
- file: string;
12
- position: string;
13
- }, flags: GlobalFlags): Promise<void>;
14
- //# sourceMappingURL=query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAK/F,wBAAsB,QAAQ,CAC5B,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EACpD,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -1,46 +0,0 @@
1
- /**
2
- * `lspeasy query <op> <file> <line:col>`
3
- *
4
- * Read-only parity ops (definition / references / hover) exposed for terminals
5
- * and CI that want the same position-driven interface as the write commands.
6
- * Always emits JSON on stdout (these are data ops, not edits).
7
- */
8
- import { pathToFileURL } from 'node:url';
9
- import { fail, parseLineCol, resolvePathArg, toLspPosition } from '../io.js';
10
- import { RefactorSession } from '../session.js';
11
- const OPS = new Set(['definition', 'references', 'hover']);
12
- export async function runQuery(args, flags) {
13
- if (!OPS.has(args.op))
14
- fail(`unknown query op "${args.op}" (definition | references | hover)`, true);
15
- const file = resolvePathArg(args.file, flags);
16
- const pos = toLspPosition(parseLineCol(args.position));
17
- const session = new RefactorSession({
18
- serverCommand: flags.server,
19
- root: flags.root,
20
- indexWaitMs: flags.waitMs,
21
- verbose: flags.verbose
22
- });
23
- try {
24
- await session.start();
25
- await session.openAndWait(file);
26
- const td = { textDocument: { uri: pathToFileURL(file).href }, position: pos };
27
- let result;
28
- if (args.op === 'definition') {
29
- result = await session.lsp.sendRequest('textDocument/definition', td);
30
- }
31
- else if (args.op === 'references') {
32
- result = await session.lsp.sendRequest('textDocument/references', {
33
- ...td,
34
- context: { includeDeclaration: true }
35
- });
36
- }
37
- else {
38
- result = await session.lsp.sendRequest('textDocument/hover', td);
39
- }
40
- process.stdout.write(JSON.stringify({ ok: true, op: args.op, result }) + '\n');
41
- }
42
- finally {
43
- await session.stop();
44
- }
45
- }
46
- //# sourceMappingURL=query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAoB,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAoD,EACpD,KAAkB;IAElB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC9E,IAAI,MAAe,CAAC;QACpB,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;YAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,yBAAyB,EAAE;gBAChE,GAAG,EAAE;gBACL,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACjF,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * `lspeasy rename <file> <line:col> <newName>`
3
- *
4
- * Drives `textDocument/rename` and applies the returned WorkspaceEdit. The LSP
5
- * server finds every reference — including re-exports, aliased imports,
6
- * type-only imports, and `{@link}` references — that a text search would miss.
7
- */
8
- import { type GlobalFlags } from '../io.js';
9
- export declare function runRename(args: {
10
- file: string;
11
- position: string;
12
- newName: string;
13
- }, flags: GlobalFlags): Promise<void>;
14
- //# sourceMappingURL=rename.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAGlB,wBAAsB,SAAS,CAC7B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzD,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
@@ -1,42 +0,0 @@
1
- /**
2
- * `lspeasy rename <file> <line:col> <newName>`
3
- *
4
- * Drives `textDocument/rename` and applies the returned WorkspaceEdit. The LSP
5
- * server finds every reference — including re-exports, aliased imports,
6
- * type-only imports, and `{@link}` references — that a text search would miss.
7
- */
8
- import { pathToFileURL } from 'node:url';
9
- import { applyWorkspaceEdit, planWorkspaceEdit } from '../apply.js';
10
- import { emitResult, fail, parseLineCol, resolvePathArg, toLspPosition } from '../io.js';
11
- import { RefactorSession } from '../session.js';
12
- export async function runRename(args, flags) {
13
- const file = resolvePathArg(args.file, flags);
14
- const pos = toLspPosition(parseLineCol(args.position));
15
- const session = new RefactorSession({
16
- serverCommand: flags.server,
17
- root: flags.root,
18
- indexWaitMs: flags.waitMs,
19
- verbose: flags.verbose
20
- });
21
- try {
22
- await session.start();
23
- await session.openAndWait(file);
24
- const edit = await session.requestWithRetry(() => session.lsp.sendRequest('textDocument/rename', {
25
- textDocument: { uri: pathToFileURL(file).href },
26
- position: pos,
27
- newName: args.newName
28
- }));
29
- if (!edit)
30
- fail('rename returned no edit (symbol not renamable, or project not indexed)', flags.json);
31
- // Validate the SERVER-RETURNED edit against --root: a server can return a
32
- // URI/resource op outside the project; applying it unguarded would bypass
33
- // the --root safety guarantee. The guard refuses unless --allow-outside-root.
34
- const guard = { root: flags.root, allowOutsideRoot: flags.allowOutsideRoot };
35
- const changes = flags.dryRun ? planWorkspaceEdit(edit, guard) : applyWorkspaceEdit(edit, guard);
36
- emitResult('rename', changes, flags, { newName: args.newName });
37
- }
38
- finally {
39
- await session.stop();
40
- }
41
- }
42
- //# sourceMappingURL=rename.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,aAAa,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAyD,EACzD,KAAkB;IAElB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC;QAClC,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,gBAAgB,CACzC,GAAG,EAAE,CACH,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,qBAAqB,EAAE;YAC7C,YAAY,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YAC/C,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAkC,CACtC,CAAC;QAEF,IAAI,CAAC,IAAI;YACP,IAAI,CAAC,wEAAwE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7F,0EAA0E;QAC1E,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChG,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- export interface LspServerEntry {
2
- command: string;
3
- args?: string[];
4
- fileExtensions: Record<string, string>;
5
- }
6
- export interface LspJson {
7
- lspServers: Record<string, LspServerEntry>;
8
- }
9
- export interface ResolvedServer {
10
- /** Full spawn command string passed to RefactorSession as serverCommand. */
11
- serverCommand: string;
12
- /** languageId for textDocument/didOpen (e.g. 'typescript', 'rust'). */
13
- languageId: string;
14
- }
15
- export declare function selectServer(config: LspJson, fileExt: string): ResolvedServer | null;
16
- export declare function discoverServer(root: string, fileExt: string): ResolvedServer | null;
17
- //# sourceMappingURL=discover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkBpF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAWnF"}
package/dist/discover.js DELETED
@@ -1,46 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { join } from 'node:path';
4
- const SEARCH_PATHS = ['lsp.json', '.claude/lsp.json', '.github/lsp.json'];
5
- function findLspJsonPath(root) {
6
- for (const rel of SEARCH_PATHS) {
7
- const full = join(root, rel);
8
- if (existsSync(full))
9
- return full;
10
- }
11
- const global = join(homedir(), '.claude', 'lsp.json');
12
- return existsSync(global) ? global : null;
13
- }
14
- export function selectServer(config, fileExt) {
15
- for (const entry of Object.values(config.lspServers)) {
16
- const languageId = entry.fileExtensions[fileExt];
17
- if (languageId) {
18
- const parts = [entry.command, ...(entry.args ?? [])].filter(Boolean);
19
- // Quote tokens containing spaces so tokenizeCommand in session.ts can
20
- // round-trip them without splitting on the embedded whitespace.
21
- // Escape backslashes first, then double-quotes: tokenizeCommand treats \\
22
- // inside double-quotes as a literal backslash, so a trailing backslash in a
23
- // Windows path like "C:\Program Files\" must become "C:\Program Files\\"
24
- // to avoid the closing " being consumed as \" (an escaped quote).
25
- const quoted = parts.map((t) => t.includes(' ') ? `"${t.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"` : t);
26
- return { serverCommand: quoted.join(' '), languageId };
27
- }
28
- }
29
- return null;
30
- }
31
- export function discoverServer(root, fileExt) {
32
- const lspJsonPath = findLspJsonPath(root);
33
- if (!lspJsonPath)
34
- return null;
35
- let parsed;
36
- try {
37
- parsed = JSON.parse(readFileSync(lspJsonPath, 'utf8'));
38
- }
39
- catch {
40
- return null;
41
- }
42
- if (!parsed || typeof parsed['lspServers'] !== 'object')
43
- return null;
44
- return selectServer(parsed, fileExt);
45
- }
46
- //# sourceMappingURL=discover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmBjC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AAE1E,SAAS,eAAe,CAAC,IAAY;IACnC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,OAAe;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,sEAAsE;YACtE,gEAAgE;YAChE,0EAA0E;YAC1E,4EAA4E;YAC5E,yEAAyE;YACzE,kEAAkE;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC1D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAQ,MAAkC,CAAC,YAAY,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClG,OAAO,YAAY,CAAC,MAAiB,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC"}