Skip to content

Commit 909fd28

Browse files
Add some more null checking
1 parent cc62da0 commit 909fd28

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

src/Components/Linter.fs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ module Linter =
6363

6464

6565
let private handlerOpen (event : TextEditor) =
66-
parseFile event.document
66+
if JS.isDefined event then
67+
parseFile event.document
68+
else
69+
Promise.lift ()
6770

6871
let activate (disposables: Disposable[]) =
6972
workspace.Globals.onDidChangeTextDocument

src/Components/QuickInfo.fs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,30 @@ open FunScript.TypeScript.vscode.languages
99
open DTO
1010
open Ionide.VSCode.Helpers
1111

12-
[<ReflectedDefinition>]
12+
[<ReflectedDefinition>]
1313
module QuickInfo =
1414
let mutable private item : StatusBarItem option = None
1515

1616
let logError (o : obj) =
1717
Globals.console.warn o
1818

1919
let private handle' (event : TextEditorSelectionChangeEvent) =
20-
let doc = event.textEditor.document
21-
let pos = event.selections.[0].active
22-
LanguageService.tooltip (doc.fileName) (int pos.line + 1) (int pos.character + 1)
23-
|> Promise.either (fun o ->
24-
let res = (o.Data |> Array.fold (fun acc n -> (n |> Array.toList) @ acc ) []).Head.Signature
25-
let t = res.Split('\n').[0]
26-
item |> Option.iter (fun n -> n.hide ())
27-
let i = window.Globals.createStatusBarItem (1 |> unbox, -1.)
28-
i.text <- t
29-
i.tooltip <- res
30-
i.show ()
31-
item <- Some i
32-
()
33-
) logError
34-
|> ignore
20+
if JS.isPropertyDefined event.textEditor "document" then
21+
let doc = event.textEditor.document
22+
let pos = event.selections.[0].active
23+
LanguageService.tooltip (doc.fileName) (int pos.line + 1) (int pos.character + 1)
24+
|> Promise.either (fun o ->
25+
let res = (o.Data |> Array.fold (fun acc n -> (n |> Array.toList) @ acc ) []).Head.Signature
26+
let t = res.Split('\n').[0]
27+
item |> Option.iter (fun n -> n.hide ())
28+
let i = window.Globals.createStatusBarItem (1 |> unbox, -1.)
29+
i.text <- t
30+
i.tooltip <- res
31+
i.show ()
32+
item <- Some i
33+
()
34+
) logError
35+
|> ignore
3536

3637
let mutable private timer = None : NodeJS.Timer option
3738

0 commit comments

Comments
 (0)