2018-05-30 18:20:02 +03:00
|
|
|
syntax = "proto3";
|
2018-06-13 01:15:36 +03:00
|
|
|
package github.semantic.v1alpha1;
|
2018-06-06 20:02:44 +03:00
|
|
|
enum Language {Unknown = 0;
|
|
|
|
Go = 1;
|
|
|
|
Haskell = 2;
|
|
|
|
Java = 3;
|
|
|
|
JavaScript = 4;
|
|
|
|
JSON = 5;
|
|
|
|
JSX = 6;
|
|
|
|
Markdown = 7;
|
|
|
|
Python = 8;
|
|
|
|
Ruby = 9;
|
|
|
|
TypeScript = 10;
|
|
|
|
PHP = 11;}
|
2018-05-30 19:59:38 +03:00
|
|
|
message Blob { bytes blobSource = 1;
|
|
|
|
string blobPath = 2;
|
|
|
|
Language blobLanguage = 3;
|
|
|
|
}
|
2018-05-31 00:42:14 +03:00
|
|
|
message Pos { int64 posLine = 1;
|
|
|
|
int64 posColumn = 2;
|
|
|
|
}
|
|
|
|
message Span { Pos spanStart = 1;
|
|
|
|
Pos spanEnd = 2;
|
|
|
|
}
|
2018-06-01 23:33:27 +03:00
|
|
|
message SrcLoc { string srcLocPackage = 1;
|
|
|
|
string srcLocModule = 2;
|
|
|
|
string srcLocFile = 3;
|
|
|
|
int64 srcLocStartLine = 4;
|
|
|
|
int64 srcLocStartCol = 5;
|
|
|
|
int64 srcLocEndLine = 6;
|
|
|
|
int64 srcLocEndCol = 7;
|
|
|
|
}
|
2018-06-12 21:13:36 +03:00
|
|
|
message ErrorSite { string errorMessage = 1;
|
2018-06-01 23:33:27 +03:00
|
|
|
SrcLoc errorLocation = 2;
|
|
|
|
}
|
|
|
|
message Error { repeated ErrorSite errorCallStack = 1;
|
|
|
|
repeated string errorExpected = 2;
|
|
|
|
string errorActual = 3;
|
|
|
|
repeated Term errorChildren = 4;
|
|
|
|
}
|
2018-05-30 18:20:02 +03:00
|
|
|
message Array { repeated Term arrayElements = 1;
|
|
|
|
}
|
|
|
|
message Boolean { bool booleanContent = 1;
|
|
|
|
}
|
|
|
|
message Hash { repeated Term hashElements = 1;
|
|
|
|
}
|
2018-06-12 21:13:36 +03:00
|
|
|
message Float { string floatContent = 1;
|
2018-05-30 18:20:02 +03:00
|
|
|
}
|
|
|
|
message KeyValue { Term key = 1;
|
|
|
|
Term value = 2;
|
|
|
|
}
|
|
|
|
message Null {
|
|
|
|
}
|
2018-06-12 21:13:36 +03:00
|
|
|
message TextElement { string textElementContent = 1;
|
2018-05-30 18:20:02 +03:00
|
|
|
}
|
2018-06-20 18:57:53 +03:00
|
|
|
message Statements { repeated Term statements = 1;
|
|
|
|
}
|
2018-06-20 23:33:58 +03:00
|
|
|
message Syntax { oneof syntax {Null null = 1;
|
2018-06-12 21:13:36 +03:00
|
|
|
Array array = 2;
|
|
|
|
Boolean boolean = 3;
|
|
|
|
Hash hash = 4;
|
|
|
|
Float float = 5;
|
|
|
|
KeyValue keyValue = 6;
|
2018-06-20 18:57:53 +03:00
|
|
|
TextElement textElement = 7;
|
|
|
|
Statements statements = 8;}
|
2018-06-20 23:33:58 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Term {
|
|
|
|
Syntax syntax = 1;
|
|
|
|
}
|