|
1 | 1 | import * as monaco from "monaco-editor"; |
| 2 | +import type * as ls from "vscode-languageserver-types"; |
2 | 3 | import type * as lst from "vscode-languageserver-types"; |
3 | 4 |
|
4 | | -export function asRange(range: lst.Range): monaco.IRange { |
5 | | - return { |
6 | | - startLineNumber: range.start.line + 1, |
7 | | - startColumn: range.start.character + 1, |
8 | | - endLineNumber: range.end.line + 1, |
9 | | - endColumn: range.end.character + 1, |
10 | | - }; |
| 5 | +export function asPosition(value: undefined | null): undefined; |
| 6 | +export function asPosition(value: ls.Position): monaco.Position; |
| 7 | +export function asPosition( |
| 8 | + value: ls.Position | undefined | null, |
| 9 | +): monaco.Position | undefined; |
| 10 | +export function asPosition( |
| 11 | + value: ls.Position | undefined | null, |
| 12 | +): monaco.Position | undefined { |
| 13 | + return value ? new monaco.Position(value.line, value.character) : undefined; |
11 | 14 | } |
12 | 15 |
|
13 | | -export function asPosition(position: lst.Position): monaco.Position { |
14 | | - return new monaco.Position(position.line + 1, position.character + 1); |
| 16 | +export function asRange(value: undefined | null): undefined; |
| 17 | +export function asRange(value: ls.Range): monaco.Range; |
| 18 | +export function asRange( |
| 19 | + value: ls.Range | undefined | null, |
| 20 | +): monaco.Range | undefined; |
| 21 | +export function asRange( |
| 22 | + value: ls.Range | undefined | null, |
| 23 | +): monaco.Range | undefined { |
| 24 | + return value |
| 25 | + ? new monaco.Range( |
| 26 | + value.start.line + 1, |
| 27 | + value.start.character + 1, |
| 28 | + value.end.line + 1, |
| 29 | + value.end.character + 1, |
| 30 | + ) |
| 31 | + : undefined; |
15 | 32 | } |
16 | 33 |
|
17 | 34 | export function asDiagnostics( |
@@ -114,6 +131,11 @@ export function asCompletionItem( |
114 | 131 | return result; |
115 | 132 | } |
116 | 133 |
|
| 134 | +export function asHover(hover: null | undefined): null; |
| 135 | +export function asHover(hover: lst.Hover): monaco.languages.Hover; |
| 136 | +export function asHover( |
| 137 | + hover: lst.Hover | null | undefined, |
| 138 | +): monaco.languages.Hover | null; |
117 | 139 | export function asHover( |
118 | 140 | hover: lst.Hover | null | undefined, |
119 | 141 | ): monaco.languages.Hover | null { |
|
0 commit comments