MCPcopy Index your code
hub / github.com/continuedev/continue / intersection

Function intersection

core/util/ranges.ts:27–58  ·  view source on GitHub ↗
(a: Range, b: Range)

Source from the content-addressed store, hash-verified

25}
26
27export function intersection(a: Range, b: Range): Range | null {
28 const startLine = Math.max(a.start.line, b.start.line);
29 const endLine = Math.min(a.end.line, b.end.line);
30
31 if (startLine > endLine) {
32 return null;
33 }
34
35 if (startLine === endLine) {
36 const startCharacter = Math.max(a.start.character, b.start.character);
37 const endCharacter = Math.min(a.end.character, b.end.character);
38
39 if (startCharacter > endCharacter) {
40 return null;
41 }
42
43 return {
44 start: { line: startLine, character: startCharacter },
45 end: { line: endLine, character: endCharacter },
46 };
47 }
48
49 const startCharacter =
50 startLine === a.start.line ? a.start.character : b.start.character;
51 const endCharacter =
52 endLine === a.end.line ? a.end.character : b.end.character;
53
54 return {
55 start: { line: startLine, character: startCharacter },
56 end: { line: endLine, character: endCharacter },
57 };
58}
59
60export function union(a: Range, b: Range): Range {
61 let start: Position;

Callers 2

ranges.test.tsFile · 0.90
crawlTypesFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected