-
Notifications
You must be signed in to change notification settings - Fork 350
/
FileSource.lean
103 lines (70 loc) · 2.82 KB
/
FileSource.lean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/-
Copyright (c) 2020 Marc Huisinga. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Marc Huisinga
-/
prelude
import Lean.Data.Lsp
namespace Lean.Lsp
class FileSource (α : Type) where
fileSource : α → DocumentUri
export FileSource (fileSource)
instance : FileSource Location :=
⟨fun l => l.uri⟩
instance : FileSource TextDocumentIdentifier :=
⟨fun i => i.uri⟩
instance : FileSource VersionedTextDocumentIdentifier :=
⟨fun i => i.uri⟩
instance : FileSource TextDocumentEdit :=
⟨fun e => fileSource e.textDocument⟩
instance : FileSource TextDocumentItem :=
⟨fun i => i.uri⟩
instance : FileSource TextDocumentPositionParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource DidOpenTextDocumentParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource DidChangeTextDocumentParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource DidSaveTextDocumentParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource DidCloseTextDocumentParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource CompletionParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource HoverParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource DeclarationParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource DefinitionParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource TypeDefinitionParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource ReferenceParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource WaitForDiagnosticsParams :=
⟨fun p => p.uri⟩
instance : FileSource DocumentHighlightParams :=
⟨fun h => fileSource h.toTextDocumentPositionParams⟩
instance : FileSource DocumentSymbolParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource SemanticTokensParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource SemanticTokensRangeParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource FoldingRangeParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource PlainGoalParams :=
⟨fun p => fileSource p.textDocument⟩
instance : FileSource PlainTermGoalParams where
fileSource p := fileSource p.textDocument
instance : FileSource RpcConnectParams where
fileSource p := p.uri
instance : FileSource RpcCallParams where
fileSource p := fileSource p.textDocument
instance : FileSource RpcReleaseParams where
fileSource p := p.uri
instance : FileSource RpcKeepAliveParams where
fileSource p := p.uri
instance : FileSource CodeActionParams where
fileSource p := fileSource p.textDocument
end Lean.Lsp