MCPcopy Create free account
hub / github.com/cursorless-dev/cursorless / getTokensInRange

Function getTokensInRange

src/util/getTokensInRange.ts:12–33  ·  view source on GitHub ↗
(
  editor: vscode.TextEditor,
  range: vscode.Range
)

Source from the content-addressed store, hash-verified

10}
11
12export function getTokensInRange(
13 editor: vscode.TextEditor,
14 range: vscode.Range
15): PartialToken[] {
16 const text = editor.document.getText(range).toLowerCase();
17 const rangeOffset = editor.document.offsetAt(range.start);
18
19 return tokenize(text, (match) => {
20 const startOffset = rangeOffset + match.index!;
21 const endOffset = rangeOffset + match.index! + match[0].length;
22 const range = new vscode.Range(
23 editor.document.positionAt(startOffset),
24 editor.document.positionAt(endOffset)
25 );
26
27 return {
28 text: match[0],
29 range,
30 offsets: { start: startOffset, end: endOffset },
31 };
32 });
33}

Callers 2

addDecorationsToEditorsFunction · 0.90
getRelevantTokensFunction · 0.90

Calls 1

tokenizeFunction · 0.90

Tested by

no test coverage detected