From 10d7a50fd35ae633f048bd75bd8dd56a38b3264b Mon Sep 17 00:00:00 2001 From: alidn Date: Tue, 12 Jan 2021 17:12:34 -0800 Subject: [PATCH 1/3] Added support for type-definition --- type_definition.go | 35 +++++++++++++++++++++++++++++++++++ writer/emitter.go | 12 ++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 type_definition.go diff --git a/type_definition.go b/type_definition.go new file mode 100644 index 0000000..50538f6 --- /dev/null +++ b/type_definition.go @@ -0,0 +1,35 @@ +package protocol + +type TypeDefinitionResult struct { + Vertex +} + +func NewTypeDefinitionResult(id uint64) TypeDefinitionResult { + return TypeDefinitionResult{Vertex{ + Element: Element{ + ID: id, + Type: ElementVertex, + }, + Label: VertexTypeDefinitionResult, + }} +} + +type TextDocumentTypeDefinition struct { + Edge + OutV uint64 `json:"outV"` + InV uint64 `json:"inV"` +} + +func NewTextDocumentTypeDefinition(id uint64, outV, inV uint64) TextDocumentTypeDefinition { + return TextDocumentTypeDefinition{ + Edge: Edge{ + Element: Element{ + ID: id, + Type: ElementEdge, + }, + Label: EdgeTextDocumentTypeDefinition, + }, + OutV: outV, + InV: inV, + } +} diff --git a/writer/emitter.go b/writer/emitter.go index a4cd505..a1c7b0e 100644 --- a/writer/emitter.go +++ b/writer/emitter.go @@ -68,12 +68,24 @@ func (e *Emitter) EmitDefinitionResult() uint64 { return id } +func (e *Emitter) EmitTypeDefinitionResult() uint64 { + id := e.nextID() + e.writer.Write(protocol.NewTypeDefinitionResult(id)) + return id +} + func (e *Emitter) EmitTextDocumentDefinition(outV, inV uint64) uint64 { id := e.nextID() e.writer.Write(protocol.NewTextDocumentDefinition(id, outV, inV)) return id } +func (e *Emitter) EmitTextDocumentTypeDefinition(outV, inV uint64) uint64 { + id := e.nextID() + e.writer.Write(protocol.NewTextDocumentTypeDefinition(id, outV, inV)) + return id +} + func (e *Emitter) EmitReferenceResult() uint64 { id := e.nextID() e.writer.Write(protocol.NewReferenceResult(id)) From e4f9a032d5be4e7e64a8e837436073901e8d82e3 Mon Sep 17 00:00:00 2001 From: alidn Date: Tue, 12 Jan 2021 17:19:20 -0800 Subject: [PATCH 2/3] Fix go-mod path --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index ed6b6f2..68f1fb2 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/sourcegraph/lsif-protocol +module github.com/alidn/lsif-protocol go 1.12 From a4c552ebb7606b725e445a8e4ad8a0c517dd50e3 Mon Sep 17 00:00:00 2001 From: Ali <59405723+alidn@users.noreply.github.com> Date: Tue, 12 Jan 2021 17:53:14 -0800 Subject: [PATCH 3/3] Update go.mod --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 68f1fb2..ed6b6f2 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/alidn/lsif-protocol +module github.com/sourcegraph/lsif-protocol go 1.12