spec-copy-selection 1.0.9 → 1.0.11
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 +78 -5
- package/dist/cli/parseArgs.js +16 -3
- package/dist/cli/parseArgs.js.map +1 -1
- package/dist/cli/readFileRange.js +3 -2
- package/dist/cli/readFileRange.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,15 +1,88 @@
|
|
|
1
1
|
# spec-copy-selection
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A CLI tool to copy specific line ranges from files to your clipboard. Designed for developers who need to quickly extract and share code snippets with proper context.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Run directly via npx (no installation required):
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx spec-copy-selection@latest <file-path>:<start-line>-<end-line>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Basic Usage
|
|
14
|
+
|
|
15
|
+
Copy lines from any file to your clipboard:
|
|
4
16
|
|
|
5
17
|
```bash
|
|
6
|
-
|
|
18
|
+
# Copy lines 1-5 from package.json
|
|
19
|
+
spec-copy-selection ./package.json:1-5
|
|
20
|
+
|
|
21
|
+
# Copy lines 10-20 from a TypeScript file
|
|
22
|
+
spec-copy-selection src/index.ts:10-20
|
|
23
|
+
|
|
24
|
+
# Windows absolute paths are supported
|
|
25
|
+
spec-copy-selection D:\projects\file.ts:10-20
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Output format for standard files:
|
|
29
|
+
```
|
|
30
|
+
src/index.ts:10-20
|
|
31
|
+
[selected content]
|
|
7
32
|
```
|
|
8
33
|
|
|
9
|
-
|
|
34
|
+
## Backlog.md Special Features
|
|
35
|
+
|
|
36
|
+
When copying from `specs/[feature]/backlog.md` files, the tool provides special formatting to help with spec-driven workflows.
|
|
37
|
+
|
|
38
|
+
### Special Output Format
|
|
39
|
+
|
|
40
|
+
Copying from a backlog file produces formatted output with context:
|
|
10
41
|
|
|
11
42
|
```bash
|
|
12
|
-
|
|
43
|
+
spec-copy-selection specs/cli-file-operations/backlog.md:69-70
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Output:
|
|
47
|
+
```
|
|
48
|
+
spec: cli-file-operations
|
|
49
|
+
[selected content]
|
|
50
|
+
|
|
51
|
+
(note: this request was extracted from specs/cli-file-operations/backlog.md:69-70)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Automatic Separator Insertion
|
|
55
|
+
|
|
56
|
+
When copying a non-first section from a backlog.md file:
|
|
57
|
+
|
|
58
|
+
- The system automatically inserts a `---` separator before the selected content in the source file
|
|
59
|
+
- Line numbers are adjusted (+3) after insertion to account for the added separator
|
|
60
|
+
- This helps maintain clean section boundaries in backlog files
|
|
61
|
+
|
|
62
|
+
**Note**: Separators are only inserted when:
|
|
63
|
+
- The file already contains at least one `---` separator
|
|
64
|
+
- There is content after the last separator (indicating a new section has started)
|
|
65
|
+
- You're not copying from line 1
|
|
66
|
+
|
|
67
|
+
## IDE Integration (JetBrains External Tools)
|
|
68
|
+
|
|
69
|
+
Configure as an external tool with these variables:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
bunx
|
|
73
|
+
spec-copy-selection $FilePathRelativeToProjectRoot$:$SelectionStartLine$-$SelectionEndLine$
|
|
74
|
+
$ContentRoot$
|
|
13
75
|
```
|
|
14
76
|
|
|
15
|
-
|
|
77
|
+

|
|
78
|
+

|
|
79
|
+
|
|
80
|
+
## Error Handling
|
|
81
|
+
|
|
82
|
+
The tool provides clear error messages for common issues:
|
|
83
|
+
|
|
84
|
+
- Invalid format: `Invalid format. Usage: spec-copy-selection <file-path>:<start-line>-<end-line>`
|
|
85
|
+
- File not found: `File not found: {file-path}`
|
|
86
|
+
- Invalid range: `Invalid range: start line ({start}) cannot be greater than end line ({end})`
|
|
87
|
+
|
|
88
|
+
Run `spec-copy-selection --help` for usage instructions.
|
package/dist/cli/parseArgs.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseArgs = parseArgs;
|
|
4
|
-
const USAGE = `Usage: spec-copy-selection <file-path>:<start-line>-<end-line>
|
|
4
|
+
const USAGE = `Usage: spec-copy-selection <file-path>:<start-line>-<end-line> [options]
|
|
5
5
|
|
|
6
6
|
Examples:
|
|
7
7
|
spec-copy-selection ./src/index.ts:1-10
|
|
8
8
|
spec-copy-selection src/utils.ts:25-50
|
|
9
9
|
spec-copy-selection D:\\projects\\file.ts:10-20 (Windows)
|
|
10
|
+
spec-copy-selection specs/feature/backlog.md:5-10 --with-separator
|
|
10
11
|
|
|
11
12
|
Options:
|
|
12
|
-
--
|
|
13
|
+
--with-separator Enable automatic '---' separator insertion for backlog.md files
|
|
14
|
+
--no-separator (deprecated) Separators are now disabled by default
|
|
15
|
+
--help, -h Show this help message
|
|
16
|
+
|
|
17
|
+
Note: Separator insertion is disabled by default for performance.
|
|
18
|
+
Use --with-separator to enable it when needed for backlog.md files.`;
|
|
13
19
|
function parseArgs(argv) {
|
|
14
20
|
if (argv.length === 0) {
|
|
15
21
|
throw new Error(USAGE);
|
|
@@ -17,7 +23,13 @@ function parseArgs(argv) {
|
|
|
17
23
|
if (argv[0] === '--help' || argv[0] === '-h') {
|
|
18
24
|
throw new Error(USAGE);
|
|
19
25
|
}
|
|
20
|
-
const
|
|
26
|
+
const withSeparator = argv.includes('--with-separator');
|
|
27
|
+
const noSeparator = !withSeparator;
|
|
28
|
+
const nonFlagArgs = argv.filter((arg) => !arg.startsWith('--'));
|
|
29
|
+
if (nonFlagArgs.length === 0) {
|
|
30
|
+
throw new Error(USAGE);
|
|
31
|
+
}
|
|
32
|
+
const input = nonFlagArgs[0];
|
|
21
33
|
const lineRangePattern = /:(\d+)-(\d+)$/;
|
|
22
34
|
const match = input.match(lineRangePattern);
|
|
23
35
|
if (!match) {
|
|
@@ -40,6 +52,7 @@ function parseArgs(argv) {
|
|
|
40
52
|
filePath,
|
|
41
53
|
startLine,
|
|
42
54
|
endLine,
|
|
55
|
+
noSeparator,
|
|
43
56
|
};
|
|
44
57
|
}
|
|
45
58
|
//# sourceMappingURL=parseArgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../src/cli/parseArgs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../src/cli/parseArgs.ts"],"names":[],"mappings":";;AAmCA,8BAqEC;AAjGD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;0EAc4D,CAAC;AAc3E,SAAgB,SAAS,CAAC,IAAc;IAEtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAGD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAKD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAIxD,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC;IAGnC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAG7B,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAGD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAGvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAGD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,sCAAsC,OAAO,GAAG,CACxF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -155,7 +155,8 @@ async function readFileRangeLarge(resolvedPath, filePath, startLine, endLine) {
|
|
|
155
155
|
});
|
|
156
156
|
});
|
|
157
157
|
}
|
|
158
|
-
async function readFileRange(filePath, startLine, endLine) {
|
|
158
|
+
async function readFileRange(filePath, startLine, endLine, options = {}) {
|
|
159
|
+
const { noSeparator = true } = options;
|
|
159
160
|
const resolvedPath = node_path_1.default.resolve(process.cwd(), filePath);
|
|
160
161
|
let fileSize = 0;
|
|
161
162
|
try {
|
|
@@ -170,7 +171,7 @@ async function readFileRange(filePath, startLine, endLine) {
|
|
|
170
171
|
throw new Error(`Permission denied: ${filePath}`);
|
|
171
172
|
}
|
|
172
173
|
}
|
|
173
|
-
if (node_path_1.default.basename(resolvedPath) === 'backlog.md' && startLine > 1) {
|
|
174
|
+
if (!noSeparator && node_path_1.default.basename(resolvedPath) === 'backlog.md' && startLine > 1) {
|
|
174
175
|
let fileContent;
|
|
175
176
|
try {
|
|
176
177
|
fileContent = await (0, promises_1.readFile)(resolvedPath, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readFileRange.js","sourceRoot":"","sources":["../../src/cli/readFileRange.ts"],"names":[],"mappings":";;;;;AAyCA,wDAoCC;
|
|
1
|
+
{"version":3,"file":"readFileRange.js","sourceRoot":"","sources":["../../src/cli/readFileRange.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,9 @@ async function main() {
|
|
|
13
13
|
try {
|
|
14
14
|
const args = (0, index_js_1.parseArgs)(process.argv.slice(2));
|
|
15
15
|
indicator.start();
|
|
16
|
-
const { content, startLine: updatedStartLine, endLine: updatedEndLine, } = await (0, index_js_1.readFileRange)(args.filePath, args.startLine, args.endLine
|
|
16
|
+
const { content, startLine: updatedStartLine, endLine: updatedEndLine, } = await (0, index_js_1.readFileRange)(args.filePath, args.startLine, args.endLine, {
|
|
17
|
+
noSeparator: args.noSeparator,
|
|
18
|
+
});
|
|
17
19
|
const resolvedPath = node_path_1.default.resolve(process.cwd(), args.filePath);
|
|
18
20
|
const metadata = {
|
|
19
21
|
filePath: resolvedPath,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,0DAA6B;AAC7B,4DAAmC;AACnC,6CAAkF;AAElF,2CAAsE;AAEtE,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAA,iCAAsB,GAAE,CAAC;IAC3C,IAAI,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,oBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAG9C,SAAS,CAAC,KAAK,EAAE,CAAC;QAGlB,MAAM,EACJ,OAAO,EACP,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,IAAA,wBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,0DAA6B;AAC7B,4DAAmC;AACnC,6CAAkF;AAElF,2CAAsE;AAEtE,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAA,iCAAsB,GAAE,CAAC;IAC3C,IAAI,CAAC;QAEH,MAAM,IAAI,GAAG,IAAA,oBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAG9C,SAAS,CAAC,KAAK,EAAE,CAAC;QAGlB,MAAM,EACJ,OAAO,EACP,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,GACxB,GAAG,MAAM,IAAA,wBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;YACnE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAGH,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAiB;YAC7B,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,mBAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACrC,SAAS,EAAE,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACrC,SAAS,EAAE,GAAG,gBAAgB,IAAI,cAAc,EAAE;SACnD,CAAC;QAGF,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,wBAAY,EAAE,4BAAgB,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAGjD,MAAM,oBAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAGnC,SAAS,CAAC,IAAI,EAAE,CAAC;QAGjB,OAAO,CAAC,GAAG,CACT,kBAAkB,gBAAgB,IAAI,cAAc,SAAS,QAAQ,CAAC,QAAQ,eAAe,CAC9F,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|