From b7127deda0491b7292ac31b8212f740e98a85eba Mon Sep 17 00:00:00 2001 From: Varun Gandhi Date: Tue, 11 Jun 2024 18:35:43 +0800 Subject: [PATCH] schema: Document that ranges should be half-open (#247) --- CHANGELOG.md | 6 + bindings/go/scip/scip.pb.go | 8 +- bindings/haskell/src/Proto/Scip.hs | 844 ++++++++++++++-------------- bindings/rust/src/generated/scip.rs | 806 +++++++++++++------------- docs/scip.md | 12 +- scip.proto | 8 +- 6 files changed, 851 insertions(+), 833 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06c95f6e..1cb340b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # ChangeLog +## Unreleased + +SCIP schema: + +- Added documentation that ranges must be half-open intervals. + ## v0.3.3 SCIP schema: diff --git a/bindings/go/scip/scip.pb.go b/bindings/go/scip/scip.pb.go index 97512113..4a3c4014 100644 --- a/bindings/go/scip/scip.pb.go +++ b/bindings/go/scip/scip.pb.go @@ -2253,13 +2253,15 @@ type Occurrence struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Source position of this occurrence. Must be exactly three or four + // Half-open [start, end) range of this occurrence. Must be exactly three or four // elements: // // - Four elements: `[startLine, startCharacter, endLine, endCharacter]` // - Three elements: `[startLine, startCharacter, endCharacter]`. The end line // is inferred to have the same value as the start line. // + // It is allowed for the range to be empty (i.e. start==end). + // // Line numbers and characters are always 0-based. Make sure to increment the // line/character values before displaying them in an editor-like UI because // editors conventionally use 1-based numbers. @@ -2294,8 +2296,8 @@ type Occurrence struct { SyntaxKind SyntaxKind `protobuf:"varint,5,opt,name=syntax_kind,json=syntaxKind,proto3,enum=scip.SyntaxKind" json:"syntax_kind,omitempty"` // (optional) Diagnostics that have been reported for this specific range. Diagnostics []*Diagnostic `protobuf:"bytes,6,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` - // (optional) Using the same encoding as the sibling `range` field, source - // position of the nearest non-trivial enclosing AST node. This range must + // (optional) Using the same encoding as the sibling `range` field, half-open + // source range of the nearest non-trivial enclosing AST node. This range must // enclose the `range` field. Example applications that make use of the // enclosing_range field: // diff --git a/bindings/haskell/src/Proto/Scip.hs b/bindings/haskell/src/Proto/Scip.hs index 84746825..fd28ba3d 100644 --- a/bindings/haskell/src/Proto/Scip.hs +++ b/bindings/haskell/src/Proto/Scip.hs @@ -6508,9 +6508,9 @@ packedFileDescriptor \\ETXXML\DLE\US\DC2\a\n\ \\ETXXSL\DLE \DC2\b\n\ \\EOTYAML\DLEJ\DC2\a\n\ - \\ETXZig\DLE&B/Z-github.com/sourcegraph/scip/bindings/go/scip/J\228\180\STX\n\ + \\ETXZig\DLE&B/Z-github.com/sourcegraph/scip/bindings/go/scip/J\181\181\STX\n\ \\a\DC2\ENQ\n\ - \\NUL\233\ACK\SOH\n\ + \\NUL\235\ACK\SOH\n\ \\130\EOT\n\ \\SOH\f\DC2\ETX\n\ \\NUL\DC22\247\ETX An index contains one or more pieces of information about a given piece of\n\ @@ -8223,7 +8223,7 @@ packedFileDescriptor \\r\n\ \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\231\EOT\DC1\DC3\n\ \\249\SOH\n\ - \\STX\EOT\t\DC2\ACK\239\EOT\NUL\206\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ + \\STX\EOT\t\DC2\ACK\239\EOT\NUL\208\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ \ information.\n\ \\n\ \ If possible, indexers should try to bundle logically related information\n\ @@ -8231,14 +8231,16 @@ packedFileDescriptor \\n\ \\v\n\ \\ETX\EOT\t\SOH\DC2\EOT\239\EOT\b\DC2\n\ - \\158\b\n\ - \\EOT\EOT\t\STX\NUL\DC2\EOT\133\ENQ\STX\ESC\SUB\143\b Source position of this occurrence. Must be exactly three or four\n\ + \\232\b\n\ + \\EOT\EOT\t\STX\NUL\DC2\EOT\135\ENQ\STX\ESC\SUB\217\b Half-open [start, end) range of this occurrence. Must be exactly three or four\n\ \ elements:\n\ \\n\ \ - Four elements: `[startLine, startCharacter, endLine, endCharacter]`\n\ \ - Three elements: `[startLine, startCharacter, endCharacter]`. The end line\n\ \ is inferred to have the same value as the start line.\n\ \\n\ + \ It is allowed for the range to be empty (i.e. start==end).\n\ + \\n\ \ Line numbers and characters are always 0-based. Make sure to increment the\n\ \ line/character values before displaying them in an editor-like UI because\n\ \ editors conventionally use 1-based numbers.\n\ @@ -8255,36 +8257,36 @@ packedFileDescriptor \ improvements make up for it.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\133\ENQ\STX\n\ + \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\135\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\133\ENQ\v\DLE\n\ + \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\135\ENQ\v\DLE\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\133\ENQ\DC1\SYN\n\ + \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\135\ENQ\DC1\SYN\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\133\ENQ\EM\SUB\n\ + \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\135\ENQ\EM\SUB\n\ \\138\SOH\n\ - \\EOT\EOT\t\STX\SOH\DC2\EOT\136\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ + \\EOT\EOT\t\STX\SOH\DC2\EOT\138\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ \ `SymbolInformation.symbol` for how to format symbols as strings.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\136\ENQ\STX\b\n\ + \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\138\ENQ\STX\b\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\136\ENQ\t\SI\n\ + \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\138\ENQ\t\SI\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\136\ENQ\DC2\DC3\n\ + \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\138\ENQ\DC2\DC3\n\ \\151\SOH\n\ - \\EOT\EOT\t\STX\STX\DC2\EOT\139\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ + \\EOT\EOT\t\STX\STX\DC2\EOT\141\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ \ See `SymbolRole`'s documentation for how to read and write this field.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\139\ENQ\STX\a\n\ + \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\141\ENQ\STX\a\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\139\ENQ\b\DC4\n\ + \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\141\ENQ\b\DC4\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\139\ENQ\ETB\CAN\n\ + \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\141\ENQ\ETB\CAN\n\ \\241\ETX\n\ - \\EOT\EOT\t\STX\ETX\DC2\EOT\148\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ + \\EOT\EOT\t\STX\ETX\DC2\EOT\150\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ \ empty, the `Symbol.documentation` field is used instead. One example\n\ \ where this field might be useful is when the symbol represents a generic\n\ \ function (with abstract type parameters such as `List`) and at this\n\ @@ -8294,38 +8296,38 @@ packedFileDescriptor \ which commonly allow for type-changing assignment.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\148\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\150\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\148\ENQ\v\DC1\n\ + \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\150\ENQ\v\DC1\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\148\ENQ\DC2(\n\ + \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\150\ENQ\DC2(\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\148\ENQ+,\n\ + \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\150\ENQ+,\n\ \X\n\ - \\EOT\EOT\t\STX\EOT\DC2\EOT\150\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ + \\EOT\EOT\t\STX\EOT\DC2\EOT\152\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ACK\DC2\EOT\150\ENQ\STX\f\n\ + \\ENQ\EOT\t\STX\EOT\ACK\DC2\EOT\152\ENQ\STX\f\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\150\ENQ\r\CAN\n\ + \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\152\ENQ\r\CAN\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\150\ENQ\ESC\FS\n\ + \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\152\ENQ\ESC\FS\n\ \W\n\ - \\EOT\EOT\t\STX\ENQ\DC2\EOT\152\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ + \\EOT\EOT\t\STX\ENQ\DC2\EOT\154\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\152\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\154\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\152\ENQ\v\NAK\n\ + \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\154\ENQ\v\NAK\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\152\ENQ\SYN!\n\ + \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\154\ENQ\SYN!\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\152\ENQ$%\n\ - \\177\SO\n\ - \\EOT\EOT\t\STX\ACK\DC2\EOT\205\ENQ\STX%\SUB\162\SO (optional) Using the same encoding as the sibling `range` field, source\n\ - \ position of the nearest non-trivial enclosing AST node. This range must\n\ + \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\154\ENQ$%\n\ + \\184\SO\n\ + \\EOT\EOT\t\STX\ACK\DC2\EOT\207\ENQ\STX%\SUB\169\SO (optional) Using the same encoding as the sibling `range` field, half-open\n\ + \ source range of the nearest non-trivial enclosing AST node. This range must\n\ \ enclose the `range` field. Example applications that make use of the\n\ \ enclosing_range field:\n\ \\n\ @@ -8378,152 +8380,152 @@ packedFileDescriptor \ ```\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\EOT\DC2\EOT\205\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ACK\EOT\DC2\EOT\207\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\205\ENQ\v\DLE\n\ + \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\207\ENQ\v\DLE\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\205\ENQ\DC1 \n\ + \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\207\ENQ\DC1 \n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\205\ENQ#$\n\ + \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\207\ENQ#$\n\ \w\n\ \\STX\EOT\n\ - \\DC2\ACK\210\ENQ\NUL\221\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ + \\DC2\ACK\212\ENQ\NUL\223\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ \ reported for a document.\n\ \\n\ \\v\n\ \\ETX\EOT\n\ - \\SOH\DC2\EOT\210\ENQ\b\DC2\n\ + \\SOH\DC2\EOT\212\ENQ\b\DC2\n\ \W\n\ \\EOT\EOT\n\ - \\STX\NUL\DC2\EOT\212\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ + \\STX\NUL\DC2\EOT\214\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ACK\DC2\EOT\212\ENQ\STX\n\ + \\STX\NUL\ACK\DC2\EOT\214\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\SOH\DC2\EOT\212\ENQ\v\DC3\n\ + \\STX\NUL\SOH\DC2\EOT\214\ENQ\v\DC3\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ETX\DC2\EOT\212\ENQ\SYN\ETB\n\ + \\STX\NUL\ETX\DC2\EOT\214\ENQ\SYN\ETB\n\ \]\n\ \\EOT\EOT\n\ - \\STX\SOH\DC2\EOT\214\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ + \\STX\SOH\DC2\EOT\216\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ENQ\DC2\EOT\214\ENQ\STX\b\n\ + \\STX\SOH\ENQ\DC2\EOT\216\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\SOH\DC2\EOT\214\ENQ\t\r\n\ + \\STX\SOH\SOH\DC2\EOT\216\ENQ\t\r\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ETX\DC2\EOT\214\ENQ\DLE\DC1\n\ + \\STX\SOH\ETX\DC2\EOT\216\ENQ\DLE\DC1\n\ \+\n\ \\EOT\EOT\n\ - \\STX\STX\DC2\EOT\216\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ + \\STX\STX\DC2\EOT\218\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ENQ\DC2\EOT\216\ENQ\STX\b\n\ + \\STX\STX\ENQ\DC2\EOT\218\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\SOH\DC2\EOT\216\ENQ\t\DLE\n\ + \\STX\STX\SOH\DC2\EOT\218\ENQ\t\DLE\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ETX\DC2\EOT\216\ENQ\DC3\DC4\n\ + \\STX\STX\ETX\DC2\EOT\218\ENQ\DC3\DC4\n\ \~\n\ \\EOT\EOT\n\ - \\STX\ETX\DC2\EOT\219\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ + \\STX\ETX\DC2\EOT\221\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ \ 'typescript' or 'super lint'.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ENQ\DC2\EOT\219\ENQ\STX\b\n\ + \\STX\ETX\ENQ\DC2\EOT\221\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\SOH\DC2\EOT\219\ENQ\t\SI\n\ + \\STX\ETX\SOH\DC2\EOT\221\ENQ\t\SI\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ETX\DC2\EOT\219\ENQ\DC2\DC3\n\ + \\STX\ETX\ETX\DC2\EOT\221\ENQ\DC2\DC3\n\ \\f\n\ \\EOT\EOT\n\ - \\STX\EOT\DC2\EOT\220\ENQ\STX\"\n\ + \\STX\EOT\DC2\EOT\222\ENQ\STX\"\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\EOT\DC2\EOT\220\ENQ\STX\n\ + \\STX\EOT\EOT\DC2\EOT\222\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ACK\DC2\EOT\220\ENQ\v\CAN\n\ + \\STX\EOT\ACK\DC2\EOT\222\ENQ\v\CAN\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\SOH\DC2\EOT\220\ENQ\EM\GS\n\ + \\STX\EOT\SOH\DC2\EOT\222\ENQ\EM\GS\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ETX\DC2\EOT\220\ENQ !\n\ + \\STX\EOT\ETX\DC2\EOT\222\ENQ !\n\ \\f\n\ - \\STX\ENQ\ENQ\DC2\ACK\223\ENQ\NUL\229\ENQ\SOH\n\ + \\STX\ENQ\ENQ\DC2\ACK\225\ENQ\NUL\231\ENQ\SOH\n\ \\v\n\ - \\ETX\ENQ\ENQ\SOH\DC2\EOT\223\ENQ\ENQ\r\n\ + \\ETX\ENQ\ENQ\SOH\DC2\EOT\225\ENQ\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\224\ENQ\STX\SUB\n\ + \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\226\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\224\ENQ\STX\NAK\n\ + \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\226\ENQ\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\224\ENQ\CAN\EM\n\ + \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\226\ENQ\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\225\ENQ\STX\f\n\ + \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\227\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\225\ENQ\STX\a\n\ + \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\227\ENQ\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\225\ENQ\n\ + \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\227\ENQ\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\226\ENQ\STX\SO\n\ + \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\228\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\226\ENQ\STX\t\n\ + \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\228\ENQ\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\226\ENQ\f\r\n\ + \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\228\ENQ\f\r\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\227\ENQ\STX\DC2\n\ + \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\229\ENQ\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\227\ENQ\STX\r\n\ + \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\229\ENQ\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\227\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\229\ENQ\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\228\ENQ\STX\v\n\ + \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\230\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\228\ENQ\STX\ACK\n\ + \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\230\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\228\ENQ\t\n\ + \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\230\ENQ\t\n\ \\n\ \\f\n\ - \\STX\ENQ\ACK\DC2\ACK\231\ENQ\NUL\235\ENQ\SOH\n\ + \\STX\ENQ\ACK\DC2\ACK\233\ENQ\NUL\237\ENQ\SOH\n\ \\v\n\ - \\ETX\ENQ\ACK\SOH\DC2\EOT\231\ENQ\ENQ\DC2\n\ + \\ETX\ENQ\ACK\SOH\DC2\EOT\233\ENQ\ENQ\DC2\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\232\ENQ\STX\US\n\ + \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\234\ENQ\STX\US\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\232\ENQ\STX\SUB\n\ + \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\234\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\232\ENQ\GS\RS\n\ + \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\234\ENQ\GS\RS\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\233\ENQ\STX\DC2\n\ + \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\235\ENQ\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\233\ENQ\STX\r\n\ + \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\235\ENQ\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\233\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\235\ENQ\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\STX\DC2\EOT\234\ENQ\STX\DC1\n\ + \\EOT\ENQ\ACK\STX\STX\DC2\EOT\236\ENQ\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\234\ENQ\STX\f\n\ + \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\236\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\234\ENQ\SI\DLE\n\ + \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\236\ENQ\SI\DLE\n\ \\208\ETX\n\ - \\STX\ENQ\a\DC2\ACK\243\ENQ\NUL\233\ACK\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ + \\STX\ENQ\a\DC2\ACK\245\ENQ\NUL\235\ACK\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ \ for the `Document.language` field. The primary purpose of this enum is to\n\ \ prevent a situation where we have a single programming language ends up with\n\ \ multiple string representations. For example, the C++ language uses the name\n\ @@ -8531,708 +8533,708 @@ packedFileDescriptor \ Feel free to send a pull-request to add missing programming languages.\n\ \\n\ \\v\n\ - \\ETX\ENQ\a\SOH\DC2\EOT\243\ENQ\ENQ\r\n\ + \\ETX\ENQ\a\SOH\DC2\EOT\245\ENQ\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\NUL\DC2\EOT\244\ENQ\STX\SUB\n\ + \\EOT\ENQ\a\STX\NUL\DC2\EOT\246\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\244\ENQ\STX\NAK\n\ + \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\246\ENQ\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\244\ENQ\CAN\EM\n\ + \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\246\ENQ\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\a\STX\SOH\DC2\EOT\245\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\SOH\DC2\EOT\247\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\245\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\247\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\245\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\247\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\STX\DC2\EOT\246\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\STX\DC2\EOT\248\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\246\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\248\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\246\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\248\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\ETX\DC2\EOT\247\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\ETX\DC2\EOT\249\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\247\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\249\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\247\ENQ\b\n\ + \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\249\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\EOT\DC2\EOT\248\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\EOT\DC2\EOT\250\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\248\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\250\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\248\ENQ\b\n\ + \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\250\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\ENQ\DC2\EOT\249\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\ENQ\DC2\EOT\251\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\249\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\251\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\249\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\251\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\ACK\DC2\EOT\250\ENQ\STX\DLE\n\ + \\EOT\ENQ\a\STX\ACK\DC2\EOT\252\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\250\ENQ\STX\n\ + \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\252\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\250\ENQ\r\SI\n\ + \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\252\ENQ\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX\a\DC2\EOT\251\ENQ\STX\DLE\n\ + \\EOT\ENQ\a\STX\a\DC2\EOT\253\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\251\ENQ\STX\n\ + \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\253\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\251\ENQ\r\SI\n\ + \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\253\ENQ\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX\b\DC2\EOT\252\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\b\DC2\EOT\254\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\252\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\254\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\252\ENQ\b\n\ + \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\254\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\t\DC2\EOT\253\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\t\DC2\EOT\255\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\253\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\255\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\253\ENQ\b\n\ + \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\255\ENQ\b\n\ \\n\ \\f\n\ \\EOT\ENQ\a\STX\n\ - \\DC2\EOT\254\ENQ\STX\SO\n\ + \\DC2\EOT\128\ACK\STX\SO\n\ \\r\n\ \\ENQ\ENQ\a\STX\n\ - \\SOH\DC2\EOT\254\ENQ\STX\b\n\ + \\SOH\DC2\EOT\128\ACK\STX\b\n\ \\r\n\ \\ENQ\ENQ\a\STX\n\ - \\STX\DC2\EOT\254\ENQ\v\r\n\ + \\STX\DC2\EOT\128\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\v\DC2\EOT\255\ENQ\STX\t\n\ + \\EOT\ENQ\a\STX\v\DC2\EOT\129\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\255\ENQ\STX\ETX\n\ + \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\129\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\255\ENQ\ACK\b\n\ + \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\129\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STX\f\DC2\EOT\128\ACK\STX\r\n\ + \\EOT\ENQ\a\STX\f\DC2\EOT\130\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\128\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\130\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\128\ACK\n\ + \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\130\ACK\n\ \\f\n\ \H\n\ - \\EOT\ENQ\a\STX\r\DC2\EOT\129\ACK\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ + \\EOT\ENQ\a\STX\r\DC2\EOT\131\ACK\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\129\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\131\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\129\ACK\b\n\ + \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\131\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SO\DC2\EOT\130\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\SO\DC2\EOT\132\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\130\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\132\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\130\ACK\b\n\ + \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\132\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SI\DC2\EOT\131\ACK\STX\r\n\ + \\EOT\ENQ\a\STX\SI\DC2\EOT\133\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\131\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\133\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\131\ACK\v\f\n\ + \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\133\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX\DLE\DC2\EOT\132\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\DLE\DC2\EOT\134\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\132\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\134\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\132\ACK\f\r\n\ + \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\134\ACK\f\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC1\DC2\EOT\133\ACK\STX\DC4\n\ + \\EOT\ENQ\a\STX\DC1\DC2\EOT\135\ACK\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\133\ACK\STX\SO\n\ + \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\135\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\133\ACK\DC1\DC3\n\ + \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\135\ACK\DC1\DC3\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC2\DC2\EOT\134\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STX\DC2\DC2\EOT\136\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\134\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\136\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\134\ACK\SI\DLE\n\ + \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\136\ACK\SI\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC3\DC2\EOT\135\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\DC3\DC2\EOT\137\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\135\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\137\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\135\ACK\b\n\ + \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\137\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC4\DC2\EOT\136\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\DC4\DC2\EOT\138\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\136\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\138\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\136\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\138\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\NAK\DC2\EOT\137\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\NAK\DC2\EOT\139\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\137\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\139\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\137\ACK\t\n\ + \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\139\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SYN\DC2\EOT\138\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\SYN\DC2\EOT\140\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\138\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\140\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\138\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\140\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\ETB\DC2\EOT\139\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\ETB\DC2\EOT\141\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\139\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\141\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\139\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\141\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\CAN\DC2\EOT\140\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX\CAN\DC2\EOT\142\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\140\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\142\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\140\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\142\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX\EM\DC2\EOT\141\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\EM\DC2\EOT\143\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\141\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\143\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\141\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\143\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\SUB\DC2\EOT\142\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\SUB\DC2\EOT\144\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\142\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\144\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\142\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\144\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\ESC\DC2\EOT\143\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\ESC\DC2\EOT\145\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\143\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\145\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\143\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\145\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\FS\DC2\EOT\144\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\FS\DC2\EOT\146\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\144\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\146\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\144\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\146\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\GS\DC2\EOT\145\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\GS\DC2\EOT\147\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\145\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\147\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\145\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\147\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\RS\DC2\EOT\146\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\RS\DC2\EOT\148\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\146\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\148\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\146\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\148\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\US\DC2\EOT\147\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX\US\DC2\EOT\149\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\147\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\149\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\147\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\149\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX \DC2\EOT\148\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX \DC2\EOT\150\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX \SOH\DC2\EOT\148\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX \SOH\DC2\EOT\150\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX \STX\DC2\EOT\148\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX \STX\DC2\EOT\150\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX!\DC2\EOT\149\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX!\DC2\EOT\151\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\149\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\151\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX!\STX\DC2\EOT\149\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX!\STX\DC2\EOT\151\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX\"\DC2\EOT\150\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX\"\DC2\EOT\152\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\150\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\152\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\150\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\152\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX#\DC2\EOT\151\ACK\STX\n\ + \\EOT\ENQ\a\STX#\DC2\EOT\153\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\151\ACK\STX\EOT\n\ + \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\153\ACK\STX\EOT\n\ \\r\n\ - \\ENQ\ENQ\a\STX#\STX\DC2\EOT\151\ACK\a\t\n\ + \\ENQ\ENQ\a\STX#\STX\DC2\EOT\153\ACK\a\t\n\ \\f\n\ - \\EOT\ENQ\a\STX$\DC2\EOT\152\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX$\DC2\EOT\154\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\152\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\154\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX$\STX\DC2\EOT\152\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX$\STX\DC2\EOT\154\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX%\DC2\EOT\153\ACK\STX\r\n\ + \\EOT\ENQ\a\STX%\DC2\EOT\155\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\153\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\155\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX%\STX\DC2\EOT\153\ACK\v\f\n\ + \\ENQ\ENQ\a\STX%\STX\DC2\EOT\155\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX&\DC2\EOT\154\ACK\STX\f\n\ + \\EOT\ENQ\a\STX&\DC2\EOT\156\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\154\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\156\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX&\STX\DC2\EOT\154\ACK\t\v\n\ + \\ENQ\ENQ\a\STX&\STX\DC2\EOT\156\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX'\DC2\EOT\155\ACK\STX\f\n\ + \\EOT\ENQ\a\STX'\DC2\EOT\157\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\155\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\157\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX'\STX\DC2\EOT\155\ACK\t\v\n\ + \\ENQ\ENQ\a\STX'\STX\DC2\EOT\157\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX(\DC2\EOT\156\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX(\DC2\EOT\158\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\156\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\158\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX(\STX\DC2\EOT\156\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX(\STX\DC2\EOT\158\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX)\DC2\EOT\157\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX)\DC2\EOT\159\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\157\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\159\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX)\STX\DC2\EOT\157\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX)\STX\DC2\EOT\159\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX*\DC2\EOT\158\ACK\STX\r\n\ + \\EOT\ENQ\a\STX*\DC2\EOT\160\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\158\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\160\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX*\STX\DC2\EOT\158\ACK\n\ + \\ENQ\ENQ\a\STX*\STX\DC2\EOT\160\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX+\DC2\EOT\159\ACK\STX\v\n\ + \\EOT\ENQ\a\STX+\DC2\EOT\161\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\159\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\161\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX+\STX\DC2\EOT\159\ACK\b\n\ + \\ENQ\ENQ\a\STX+\STX\DC2\EOT\161\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX,\DC2\EOT\160\ACK\STX\t\n\ + \\EOT\ENQ\a\STX,\DC2\EOT\162\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\160\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\162\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STX,\STX\DC2\EOT\160\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STX,\STX\DC2\EOT\162\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STX-\DC2\EOT\161\ACK\STX\f\n\ + \\EOT\ENQ\a\STX-\DC2\EOT\163\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\161\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\163\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX-\STX\DC2\EOT\161\ACK\t\v\n\ + \\ENQ\ENQ\a\STX-\STX\DC2\EOT\163\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX.\DC2\EOT\162\ACK\STX\v\n\ + \\EOT\ENQ\a\STX.\DC2\EOT\164\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\162\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\164\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX.\STX\DC2\EOT\162\ACK\t\n\ + \\ENQ\ENQ\a\STX.\STX\DC2\EOT\164\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX/\DC2\EOT\163\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX/\DC2\EOT\165\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\163\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\165\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX/\STX\DC2\EOT\163\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX/\STX\DC2\EOT\165\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX0\DC2\EOT\164\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STX0\DC2\EOT\166\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\164\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\166\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX0\STX\DC2\EOT\164\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STX0\STX\DC2\EOT\166\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\a\STX1\DC2\EOT\165\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX1\DC2\EOT\167\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\165\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\167\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX1\STX\DC2\EOT\165\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX1\STX\DC2\EOT\167\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX2\DC2\EOT\166\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX2\DC2\EOT\168\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\166\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\168\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX2\STX\DC2\EOT\166\ACK\v\r\n\ + \\ENQ\ENQ\a\STX2\STX\DC2\EOT\168\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX3\DC2\EOT\167\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STX3\DC2\EOT\169\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\167\ACK\STX\n\ + \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\169\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX3\STX\DC2\EOT\167\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STX3\STX\DC2\EOT\169\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STX4\DC2\EOT\168\ACK\STX\r\n\ + \\EOT\ENQ\a\STX4\DC2\EOT\170\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\168\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\170\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX4\STX\DC2\EOT\168\ACK\v\f\n\ + \\ENQ\ENQ\a\STX4\STX\DC2\EOT\170\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX5\DC2\EOT\169\ACK\STX\r\n\ + \\EOT\ENQ\a\STX5\DC2\EOT\171\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\169\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\171\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX5\STX\DC2\EOT\169\ACK\n\ + \\ENQ\ENQ\a\STX5\STX\DC2\EOT\171\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX6\DC2\EOT\170\ACK\STX\f\n\ + \\EOT\ENQ\a\STX6\DC2\EOT\172\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\170\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\172\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX6\STX\DC2\EOT\170\ACK\t\v\n\ + \\ENQ\ENQ\a\STX6\STX\DC2\EOT\172\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX7\DC2\EOT\171\ACK\STX\f\n\ + \\EOT\ENQ\a\STX7\DC2\EOT\173\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\171\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\173\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX7\STX\DC2\EOT\171\ACK\t\v\n\ + \\ENQ\ENQ\a\STX7\STX\DC2\EOT\173\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX8\DC2\EOT\172\ACK\STX\v\n\ + \\EOT\ENQ\a\STX8\DC2\EOT\174\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\172\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\174\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX8\STX\DC2\EOT\172\ACK\b\n\ + \\ENQ\ENQ\a\STX8\STX\DC2\EOT\174\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX9\DC2\EOT\173\ACK\STX\r\n\ + \\EOT\ENQ\a\STX9\DC2\EOT\175\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\173\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\175\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX9\STX\DC2\EOT\173\ACK\t\f\n\ + \\ENQ\ENQ\a\STX9\STX\DC2\EOT\175\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\a\STX:\DC2\EOT\174\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX:\DC2\EOT\176\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\174\ACK\STX\n\ + \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\176\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX:\STX\DC2\EOT\174\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX:\STX\DC2\EOT\176\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX;\DC2\EOT\175\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX;\DC2\EOT\177\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\175\ACK\STX\n\ + \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\177\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX;\STX\DC2\EOT\175\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX;\STX\DC2\EOT\177\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX<\DC2\EOT\176\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX<\DC2\EOT\178\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\176\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\178\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX<\STX\DC2\EOT\176\ACK\v\r\n\ + \\ENQ\ENQ\a\STX<\STX\DC2\EOT\178\ACK\v\r\n\ \(\n\ - \\EOT\ENQ\a\STX=\DC2\EOT\177\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ + \\EOT\ENQ\a\STX=\DC2\EOT\179\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\177\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\179\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX=\STX\DC2\EOT\177\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX=\STX\DC2\EOT\179\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX>\DC2\EOT\178\ACK\STX\v\n\ + \\EOT\ENQ\a\STX>\DC2\EOT\180\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\178\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\180\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX>\STX\DC2\EOT\178\ACK\b\n\ + \\ENQ\ENQ\a\STX>\STX\DC2\EOT\180\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX?\DC2\EOT\179\ACK\STX\r\n\ + \\EOT\ENQ\a\STX?\DC2\EOT\181\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\179\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\181\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX?\STX\DC2\EOT\179\ACK\n\ + \\ENQ\ENQ\a\STX?\STX\DC2\EOT\181\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX@\DC2\EOT\180\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STX@\DC2\EOT\182\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\180\ACK\STX\r\n\ + \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\182\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX@\STX\DC2\EOT\180\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STX@\STX\DC2\EOT\182\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXA\DC2\EOT\181\ACK\STX\NAK\n\ + \\EOT\ENQ\a\STXA\DC2\EOT\183\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\181\ACK\STX\SI\n\ + \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\183\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXA\STX\DC2\EOT\181\ACK\DC2\DC4\n\ + \\ENQ\ENQ\a\STXA\STX\DC2\EOT\183\ACK\DC2\DC4\n\ \\f\n\ - \\EOT\ENQ\a\STXB\DC2\EOT\182\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXB\DC2\EOT\184\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\182\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\184\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXB\STX\DC2\EOT\182\ACK\v\r\n\ + \\ENQ\ENQ\a\STXB\STX\DC2\EOT\184\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXC\DC2\EOT\183\ACK\STX\v\n\ + \\EOT\ENQ\a\STXC\DC2\EOT\185\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\183\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\185\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXC\STX\DC2\EOT\183\ACK\b\n\ + \\ENQ\ENQ\a\STXC\STX\DC2\EOT\185\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXD\DC2\EOT\184\ACK\STX\r\n\ + \\EOT\ENQ\a\STXD\DC2\EOT\186\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\184\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\186\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXD\STX\DC2\EOT\184\ACK\n\ + \\ENQ\ENQ\a\STXD\STX\DC2\EOT\186\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STXE\DC2\EOT\185\ACK\STX\f\n\ + \\EOT\ENQ\a\STXE\DC2\EOT\187\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\185\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\187\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXE\STX\DC2\EOT\185\ACK\t\v\n\ + \\ENQ\ENQ\a\STXE\STX\DC2\EOT\187\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXF\DC2\EOT\186\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXF\DC2\EOT\188\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\186\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\188\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXF\STX\DC2\EOT\186\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXF\STX\DC2\EOT\188\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STXG\DC2\EOT\187\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXG\DC2\EOT\189\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\187\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\189\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXG\STX\DC2\EOT\187\ACK\v\r\n\ + \\ENQ\ENQ\a\STXG\STX\DC2\EOT\189\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXH\DC2\EOT\188\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STXH\DC2\EOT\190\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\188\ACK\STX\n\ + \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\190\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXH\STX\DC2\EOT\188\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STXH\STX\DC2\EOT\190\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STXI\DC2\EOT\189\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXI\DC2\EOT\191\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\189\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\191\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXI\STX\DC2\EOT\189\ACK\v\r\n\ + \\ENQ\ENQ\a\STXI\STX\DC2\EOT\191\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXJ\DC2\EOT\190\ACK\STX\t\n\ + \\EOT\ENQ\a\STXJ\DC2\EOT\192\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\190\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\192\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\190\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\192\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STXK\DC2\EOT\191\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXK\DC2\EOT\193\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\191\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\193\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXK\STX\DC2\EOT\191\ACK\v\r\n\ + \\ENQ\ENQ\a\STXK\STX\DC2\EOT\193\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXL\DC2\EOT\192\ACK\STX\f\n\ + \\EOT\ENQ\a\STXL\DC2\EOT\194\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\192\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\194\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXL\STX\DC2\EOT\192\ACK\t\v\n\ + \\ENQ\ENQ\a\STXL\STX\DC2\EOT\194\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXM\DC2\EOT\193\ACK\STX\r\n\ + \\EOT\ENQ\a\STXM\DC2\EOT\195\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\193\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\195\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXM\STX\DC2\EOT\193\ACK\n\ + \\ENQ\ENQ\a\STXM\STX\DC2\EOT\195\ACK\n\ \\f\n\ \2\n\ - \\EOT\ENQ\a\STXN\DC2\EOT\194\ACK\STX\SO\"$ Internal language for testing SCIP\n\ + \\EOT\ENQ\a\STXN\DC2\EOT\196\ACK\STX\SO\"$ Internal language for testing SCIP\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\194\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\196\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXN\STX\DC2\EOT\194\ACK\n\ + \\ENQ\ENQ\a\STXN\STX\DC2\EOT\196\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\a\STXO\DC2\EOT\195\ACK\STX\f\n\ + \\EOT\ENQ\a\STXO\DC2\EOT\197\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\195\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\197\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXO\STX\DC2\EOT\195\ACK\t\v\n\ + \\ENQ\ENQ\a\STXO\STX\DC2\EOT\197\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXP\DC2\EOT\196\ACK\STX\f\n\ + \\EOT\ENQ\a\STXP\DC2\EOT\198\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\196\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\198\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXP\STX\DC2\EOT\196\ACK\t\v\n\ + \\ENQ\ENQ\a\STXP\STX\DC2\EOT\198\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXQ\DC2\EOT\197\ACK\STX\f\n\ + \\EOT\ENQ\a\STXQ\DC2\EOT\199\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\197\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\199\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\197\ACK\t\v\n\ + \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\199\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXR\DC2\EOT\198\ACK\STX\v\n\ + \\EOT\ENQ\a\STXR\DC2\EOT\200\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\198\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\200\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXR\STX\DC2\EOT\198\ACK\b\n\ + \\ENQ\ENQ\a\STXR\STX\DC2\EOT\200\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXS\DC2\EOT\199\ACK\STX\f\n\ + \\EOT\ENQ\a\STXS\DC2\EOT\201\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\199\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\201\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXS\STX\DC2\EOT\199\ACK\t\v\n\ + \\ENQ\ENQ\a\STXS\STX\DC2\EOT\201\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXT\DC2\EOT\200\ACK\STX\v\n\ + \\EOT\ENQ\a\STXT\DC2\EOT\202\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\200\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\202\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXT\STX\DC2\EOT\200\ACK\b\n\ + \\ENQ\ENQ\a\STXT\STX\DC2\EOT\202\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXU\DC2\EOT\201\ACK\STX\v\n\ + \\EOT\ENQ\a\STXU\DC2\EOT\203\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\201\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\203\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXU\STX\DC2\EOT\201\ACK\b\n\ + \\ENQ\ENQ\a\STXU\STX\DC2\EOT\203\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXV\DC2\EOT\202\ACK\STX\f\n\ + \\EOT\ENQ\a\STXV\DC2\EOT\204\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\202\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\204\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXV\STX\DC2\EOT\202\ACK\t\v\n\ + \\ENQ\ENQ\a\STXV\STX\DC2\EOT\204\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXW\DC2\EOT\203\ACK\STX\f\n\ + \\EOT\ENQ\a\STXW\DC2\EOT\205\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\203\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\205\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXW\STX\DC2\EOT\203\ACK\n\ + \\ENQ\ENQ\a\STXW\STX\DC2\EOT\205\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\a\STXX\DC2\EOT\204\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXX\DC2\EOT\206\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\204\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\206\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXX\STX\DC2\EOT\204\ACK\v\r\n\ + \\ENQ\ENQ\a\STXX\STX\DC2\EOT\206\ACK\v\r\n\ \\DC4\n\ - \\EOT\ENQ\a\STXY\DC2\EOT\205\ACK\STX\DC3\"\ACK Bash\n\ + \\EOT\ENQ\a\STXY\DC2\EOT\207\ACK\STX\DC3\"\ACK Bash\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\205\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\207\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXY\STX\DC2\EOT\205\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXY\STX\DC2\EOT\207\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXZ\DC2\EOT\206\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXZ\DC2\EOT\208\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\206\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\208\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\206\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\208\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX[\DC2\EOT\207\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX[\DC2\EOT\209\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\207\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\209\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX[\STX\DC2\EOT\207\ACK\n\ + \\ENQ\ENQ\a\STX[\STX\DC2\EOT\209\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\\\DC2\EOT\208\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\\\DC2\EOT\210\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\208\ACK\STX\n\ + \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\210\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\208\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\210\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX]\DC2\EOT\209\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX]\DC2\EOT\211\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\209\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\211\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX]\STX\DC2\EOT\209\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX]\STX\DC2\EOT\211\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX^\DC2\EOT\210\ACK\STX\f\n\ + \\EOT\ENQ\a\STX^\DC2\EOT\212\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\210\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\212\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX^\STX\DC2\EOT\210\ACK\n\ + \\ENQ\ENQ\a\STX^\STX\DC2\EOT\212\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\a\STX_\DC2\EOT\211\ACK\STX\f\n\ + \\EOT\ENQ\a\STX_\DC2\EOT\213\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\211\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\213\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX_\STX\DC2\EOT\211\ACK\b\v\n\ + \\ENQ\ENQ\a\STX_\STX\DC2\EOT\213\ACK\b\v\n\ \\f\n\ - \\EOT\ENQ\a\STX`\DC2\EOT\212\ACK\STX\f\n\ + \\EOT\ENQ\a\STX`\DC2\EOT\214\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\212\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\214\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX`\STX\DC2\EOT\212\ACK\t\v\n\ + \\ENQ\ENQ\a\STX`\STX\DC2\EOT\214\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXa\DC2\EOT\213\ACK\STX\v\n\ + \\EOT\ENQ\a\STXa\DC2\EOT\215\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\213\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\215\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXa\STX\DC2\EOT\213\ACK\b\n\ + \\ENQ\ENQ\a\STXa\STX\DC2\EOT\215\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXb\DC2\EOT\214\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXb\DC2\EOT\216\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\214\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\216\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXb\STX\DC2\EOT\214\ACK\v\SO\n\ + \\ENQ\ENQ\a\STXb\STX\DC2\EOT\216\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STXc\DC2\EOT\215\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXc\DC2\EOT\217\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\215\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\217\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXc\STX\DC2\EOT\215\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXc\STX\DC2\EOT\217\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STXd\DC2\EOT\216\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STXd\DC2\EOT\218\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\216\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\218\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STXd\STX\DC2\EOT\216\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STXd\STX\DC2\EOT\218\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\a\STXe\DC2\EOT\217\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STXe\DC2\EOT\219\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\217\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\219\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXe\STX\DC2\EOT\217\ACK\f\SI\n\ + \\ENQ\ENQ\a\STXe\STX\DC2\EOT\219\ACK\f\SI\n\ \\f\n\ - \\EOT\ENQ\a\STXf\DC2\EOT\218\ACK\STX\r\n\ + \\EOT\ENQ\a\STXf\DC2\EOT\220\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\218\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\220\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXf\STX\DC2\EOT\218\ACK\t\f\n\ + \\ENQ\ENQ\a\STXf\STX\DC2\EOT\220\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\a\STXg\DC2\EOT\219\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STXg\DC2\EOT\221\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\219\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\221\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXg\STX\DC2\EOT\219\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXg\STX\DC2\EOT\221\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXh\DC2\EOT\220\ACK\STX\v\n\ + \\EOT\ENQ\a\STXh\DC2\EOT\222\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\220\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\222\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXh\STX\DC2\EOT\220\ACK\b\n\ + \\ENQ\ENQ\a\STXh\STX\DC2\EOT\222\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXi\DC2\EOT\221\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXi\DC2\EOT\223\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\221\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\223\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXi\STX\DC2\EOT\221\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXi\STX\DC2\EOT\223\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STXj\DC2\EOT\222\ACK\STX\v\n\ + \\EOT\ENQ\a\STXj\DC2\EOT\224\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\222\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\224\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXj\STX\DC2\EOT\222\ACK\b\n\ + \\ENQ\ENQ\a\STXj\STX\DC2\EOT\224\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXk\DC2\EOT\223\ACK\STX\v\n\ + \\EOT\ENQ\a\STXk\DC2\EOT\225\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\223\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\225\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXk\STX\DC2\EOT\223\ACK\b\n\ + \\ENQ\ENQ\a\STXk\STX\DC2\EOT\225\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXl\DC2\EOT\224\ACK\STX\f\n\ + \\EOT\ENQ\a\STXl\DC2\EOT\226\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\224\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\226\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXl\STX\DC2\EOT\224\ACK\t\v\n\ + \\ENQ\ENQ\a\STXl\STX\DC2\EOT\226\ACK\t\v\n\ \\147\ETX\n\ - \\EOT\ENQ\a\STXm\DC2\EOT\225\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ + \\EOT\ENQ\a\STXm\DC2\EOT\227\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ \ Steps add a new language:\n\ \ 1. Copy-paste the \"NextLanguage = N\" line above\n\ \ 2. Increment \"NextLanguage = N\" to \"NextLanguage = N+1\"\n\ @@ -9241,7 +9243,7 @@ packedFileDescriptor \ 5. (optional) Add a brief comment behind the language if the name is not self-explanatory\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\225\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\227\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXm\STX\DC2\EOT\225\ACK\b\n\ + \\ENQ\ENQ\a\STXm\STX\DC2\EOT\227\ACK\b\n\ \b\ACKproto3" \ No newline at end of file diff --git a/bindings/rust/src/generated/scip.rs b/bindings/rust/src/generated/scip.rs index 0e71c7cb..5e703b60 100644 --- a/bindings/rust/src/generated/scip.rs +++ b/bindings/rust/src/generated/scip.rs @@ -2421,13 +2421,15 @@ impl ::protobuf::reflect::ProtobufValue for Relationship { // @@protoc_insertion_point(message:scip.Occurrence) pub struct Occurrence { // message fields - /// Source position of this occurrence. Must be exactly three or four + /// Half-open [start, end) range of this occurrence. Must be exactly three or four /// elements: /// /// - Four elements: `[startLine, startCharacter, endLine, endCharacter]` /// - Three elements: `[startLine, startCharacter, endCharacter]`. The end line /// is inferred to have the same value as the start line. /// + /// It is allowed for the range to be empty (i.e. start==end). + /// /// Line numbers and characters are always 0-based. Make sure to increment the /// line/character values before displaying them in an editor-like UI because /// editors conventionally use 1-based numbers. @@ -4338,7 +4340,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ sualBasic\x10?\x12\x07\n\x03Vue\x10\x19\x12\x0b\n\x07Wolfram\x105\x12\ \x07\n\x03XML\x10\x1f\x12\x07\n\x03XSL\x10\x20\x12\x08\n\x04YAML\x10J\ \x12\x07\n\x03Zig\x10&B/Z-github.com/sourcegraph/scip/bindings/go/scip/J\ - \xe4\xb4\x02\n\x07\x12\x05\n\0\xe9\x06\x01\n\x82\x04\n\x01\x0c\x12\x03\n\ + \xb5\xb5\x02\n\x07\x12\x05\n\0\xeb\x06\x01\n\x82\x04\n\x01\x0c\x12\x03\n\ \0\x122\xf7\x03\x20An\x20index\x20contains\x20one\x20or\x20more\x20piece\ s\x20of\x20information\x20about\x20a\x20given\x20piece\x20of\n\x20source\ \x20code\x20or\x20software\x20artifact.\x20Complementary\x20information\ @@ -5225,415 +5227,417 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x04\x11\x13\n,\n\x04\x05\x04\x02&\x12\x04\xe7\x04\x02\x14\x1a\x1e\x20De\ limiters\x20for\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02&\x01\x12\x04\ \xe7\x04\x02\x0e\n\r\n\x05\x05\x04\x02&\x02\x12\x04\xe7\x04\x11\x13\n\ - \xf9\x01\n\x02\x04\t\x12\x06\xef\x04\0\xce\x05\x01\x1a\xea\x01\x20Occurr\ + \xf9\x01\n\x02\x04\t\x12\x06\xef\x04\0\xd0\x05\x01\x1a\xea\x01\x20Occurr\ ence\x20associates\x20a\x20source\x20position\x20with\x20a\x20symbol\x20\ and/or\x20highlighting\n\x20information.\n\n\x20If\x20possible,\x20index\ ers\x20should\x20try\x20to\x20bundle\x20logically\x20related\x20informat\ ion\n\x20across\x20occurrences\x20into\x20a\x20single\x20occurrence\x20t\ o\x20reduce\x20payload\x20sizes.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xef\x04\ - \x08\x12\n\x9e\x08\n\x04\x04\t\x02\0\x12\x04\x85\x05\x02\x1b\x1a\x8f\x08\ - \x20Source\x20position\x20of\x20this\x20occurrence.\x20Must\x20be\x20exa\ - ctly\x20three\x20or\x20four\n\x20elements:\n\n\x20-\x20Four\x20elements:\ - \x20`[startLine,\x20startCharacter,\x20endLine,\x20endCharacter]`\n\x20-\ - \x20Three\x20elements:\x20`[startLine,\x20startCharacter,\x20endCharacte\ - r]`.\x20The\x20end\x20line\n\x20\x20\x20is\x20inferred\x20to\x20have\x20\ - the\x20same\x20value\x20as\x20the\x20start\x20line.\n\n\x20Line\x20numbe\ - rs\x20and\x20characters\x20are\x20always\x200-based.\x20Make\x20sure\x20\ - to\x20increment\x20the\n\x20line/character\x20values\x20before\x20displa\ - ying\x20them\x20in\x20an\x20editor-like\x20UI\x20because\n\x20editors\ - \x20conventionally\x20use\x201-based\x20numbers.\n\n\x20The\x20'characte\ - r'\x20value\x20is\x20interpreted\x20based\x20on\x20the\x20PositionEncodi\ - ng\x20for\n\x20the\x20Document.\n\n\x20Historical\x20note:\x20the\x20ori\ - ginal\x20draft\x20of\x20this\x20schema\x20had\x20a\x20`Range`\x20message\ - \n\x20type\x20with\x20`start`\x20and\x20`end`\x20fields\x20of\x20type\ - \x20`Position`,\x20mirroring\x20LSP.\n\x20Benchmarks\x20revealed\x20that\ - \x20this\x20encoding\x20was\x20inefficient\x20and\x20that\x20we\x20could\ - \n\x20reduce\x20the\x20total\x20payload\x20size\x20of\x20an\x20index\x20\ - by\x2050%\x20by\x20using\x20`repeated\x20int32`\n\x20instead.\x20The\x20\ - `repeated\x20int32`\x20encoding\x20is\x20admittedly\x20more\x20embarrass\ - ing\x20to\n\x20work\x20with\x20in\x20some\x20programming\x20languages\ - \x20but\x20we\x20hope\x20the\x20performance\n\x20improvements\x20make\ - \x20up\x20for\x20it.\n\n\r\n\x05\x04\t\x02\0\x04\x12\x04\x85\x05\x02\n\n\ - \r\n\x05\x04\t\x02\0\x05\x12\x04\x85\x05\x0b\x10\n\r\n\x05\x04\t\x02\0\ - \x01\x12\x04\x85\x05\x11\x16\n\r\n\x05\x04\t\x02\0\x03\x12\x04\x85\x05\ - \x19\x1a\n\x8a\x01\n\x04\x04\t\x02\x01\x12\x04\x88\x05\x02\x14\x1a|\x20(\ - optional)\x20The\x20symbol\x20that\x20appears\x20at\x20this\x20position.\ - \x20See\n\x20`SymbolInformation.symbol`\x20for\x20how\x20to\x20format\ - \x20symbols\x20as\x20strings.\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\x88\ - \x05\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x88\x05\t\x0f\n\r\n\x05\ - \x04\t\x02\x01\x03\x12\x04\x88\x05\x12\x13\n\x97\x01\n\x04\x04\t\x02\x02\ - \x12\x04\x8b\x05\x02\x19\x1a\x88\x01\x20(optional)\x20Bitset\x20containi\ - ng\x20`SymbolRole`s\x20in\x20this\x20occurrence.\n\x20See\x20`SymbolRole\ - `'s\x20documentation\x20for\x20how\x20to\x20read\x20and\x20write\x20this\ - \x20field.\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\x8b\x05\x02\x07\n\r\n\ - \x05\x04\t\x02\x02\x01\x12\x04\x8b\x05\x08\x14\n\r\n\x05\x04\t\x02\x02\ - \x03\x12\x04\x8b\x05\x17\x18\n\xf1\x03\n\x04\x04\t\x02\x03\x12\x04\x94\ - \x05\x02-\x1a\xe2\x03\x20(optional)\x20CommonMark-formatted\x20documenta\ - tion\x20for\x20this\x20specific\x20range.\x20If\n\x20empty,\x20the\x20`S\ - ymbol.documentation`\x20field\x20is\x20used\x20instead.\x20One\x20exampl\ - e\n\x20where\x20this\x20field\x20might\x20be\x20useful\x20is\x20when\x20\ - the\x20symbol\x20represents\x20a\x20generic\n\x20function\x20(with\x20ab\ - stract\x20type\x20parameters\x20such\x20as\x20`List`)\x20and\x20at\ - \x20this\n\x20occurrence\x20we\x20know\x20the\x20exact\x20values\x20(suc\ - h\x20as\x20`List`).\n\n\x20This\x20field\x20can\x20also\x20be\ - \x20used\x20for\x20dynamically\x20or\x20gradually\x20typed\x20languages,\ - \n\x20which\x20commonly\x20allow\x20for\x20type-changing\x20assignment.\ - \n\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\x94\x05\x02\n\n\r\n\x05\x04\t\x02\ - \x03\x05\x12\x04\x94\x05\x0b\x11\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\x94\ - \x05\x12(\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\x94\x05+,\nX\n\x04\x04\t\ - \x02\x04\x12\x04\x96\x05\x02\x1d\x1aJ\x20(optional)\x20What\x20syntax\ - \x20highlighting\x20class\x20should\x20be\x20used\x20for\x20this\x20rang\ - e?\n\n\r\n\x05\x04\t\x02\x04\x06\x12\x04\x96\x05\x02\x0c\n\r\n\x05\x04\t\ - \x02\x04\x01\x12\x04\x96\x05\r\x18\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\ - \x96\x05\x1b\x1c\nW\n\x04\x04\t\x02\x05\x12\x04\x98\x05\x02&\x1aI\x20(op\ - tional)\x20Diagnostics\x20that\x20have\x20been\x20reported\x20for\x20thi\ - s\x20specific\x20range.\n\n\r\n\x05\x04\t\x02\x05\x04\x12\x04\x98\x05\ - \x02\n\n\r\n\x05\x04\t\x02\x05\x06\x12\x04\x98\x05\x0b\x15\n\r\n\x05\x04\ - \t\x02\x05\x01\x12\x04\x98\x05\x16!\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\ - \x98\x05$%\n\xb1\x0e\n\x04\x04\t\x02\x06\x12\x04\xcd\x05\x02%\x1a\xa2\ - \x0e\x20(optional)\x20Using\x20the\x20same\x20encoding\x20as\x20the\x20s\ - ibling\x20`range`\x20field,\x20source\n\x20position\x20of\x20the\x20near\ - est\x20non-trivial\x20enclosing\x20AST\x20node.\x20This\x20range\x20must\ - \n\x20enclose\x20the\x20`range`\x20field.\x20Example\x20applications\x20\ - that\x20make\x20use\x20of\x20the\n\x20enclosing_range\x20field:\n\n\x20-\ - \x20Call\x20hierarchies:\x20to\x20determine\x20what\x20symbols\x20are\ - \x20references\x20from\x20the\x20body\n\x20\x20\x20of\x20a\x20function\n\ - \x20-\x20Symbol\x20outline:\x20to\x20display\x20breadcrumbs\x20from\x20t\ - he\x20cursor\x20position\x20to\x20the\n\x20\x20\x20root\x20of\x20the\x20\ - file\n\x20-\x20Expand\x20selection:\x20to\x20select\x20the\x20nearest\ - \x20enclosing\x20AST\x20node.\n\x20-\x20Highlight\x20range:\x20to\x20ind\ - icate\x20the\x20AST\x20expression\x20that\x20is\x20associated\x20with\ - \x20a\n\x20\x20\x20hover\x20popover\n\n\x20For\x20definition\x20occurren\ - ces,\x20the\x20enclosing\x20range\x20should\x20indicate\x20the\n\x20star\ - t/end\x20bounds\x20of\x20the\x20entire\x20definition\x20AST\x20node,\x20\ - including\n\x20documentation.\n\x20```\n\x20const\x20n\x20=\x203\n\x20\ - \x20\x20\x20\x20\x20\x20^\x20range\n\x20^^^^^^^^^^^\x20enclosing_range\n\ - \n\x20/**\x20Parses\x20the\x20string\x20into\x20something\x20*/\n\x20^\ - \x20enclosing_range\x20start\x20--------------------------------------|\ - \n\x20function\x20parse(input\x20string):\x20string\x20{\x20\x20\x20\x20\ + \x08\x12\n\xe8\x08\n\x04\x04\t\x02\0\x12\x04\x87\x05\x02\x1b\x1a\xd9\x08\ + \x20Half-open\x20[start,\x20end)\x20range\x20of\x20this\x20occurrence.\ + \x20Must\x20be\x20exactly\x20three\x20or\x20four\n\x20elements:\n\n\x20-\ + \x20Four\x20elements:\x20`[startLine,\x20startCharacter,\x20endLine,\x20\ + endCharacter]`\n\x20-\x20Three\x20elements:\x20`[startLine,\x20startChar\ + acter,\x20endCharacter]`.\x20The\x20end\x20line\n\x20\x20\x20is\x20infer\ + red\x20to\x20have\x20the\x20same\x20value\x20as\x20the\x20start\x20line.\ + \n\n\x20It\x20is\x20allowed\x20for\x20the\x20range\x20to\x20be\x20empty\ + \x20(i.e.\x20start==end).\n\n\x20Line\x20numbers\x20and\x20characters\ + \x20are\x20always\x200-based.\x20Make\x20sure\x20to\x20increment\x20the\ + \n\x20line/character\x20values\x20before\x20displaying\x20them\x20in\x20\ + an\x20editor-like\x20UI\x20because\n\x20editors\x20conventionally\x20use\ + \x201-based\x20numbers.\n\n\x20The\x20'character'\x20value\x20is\x20inte\ + rpreted\x20based\x20on\x20the\x20PositionEncoding\x20for\n\x20the\x20Doc\ + ument.\n\n\x20Historical\x20note:\x20the\x20original\x20draft\x20of\x20t\ + his\x20schema\x20had\x20a\x20`Range`\x20message\n\x20type\x20with\x20`st\ + art`\x20and\x20`end`\x20fields\x20of\x20type\x20`Position`,\x20mirroring\ + \x20LSP.\n\x20Benchmarks\x20revealed\x20that\x20this\x20encoding\x20was\ + \x20inefficient\x20and\x20that\x20we\x20could\n\x20reduce\x20the\x20tota\ + l\x20payload\x20size\x20of\x20an\x20index\x20by\x2050%\x20by\x20using\ + \x20`repeated\x20int32`\n\x20instead.\x20The\x20`repeated\x20int32`\x20e\ + ncoding\x20is\x20admittedly\x20more\x20embarrassing\x20to\n\x20work\x20w\ + ith\x20in\x20some\x20programming\x20languages\x20but\x20we\x20hope\x20th\ + e\x20performance\n\x20improvements\x20make\x20up\x20for\x20it.\n\n\r\n\ + \x05\x04\t\x02\0\x04\x12\x04\x87\x05\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\ + \x04\x87\x05\x0b\x10\n\r\n\x05\x04\t\x02\0\x01\x12\x04\x87\x05\x11\x16\n\ + \r\n\x05\x04\t\x02\0\x03\x12\x04\x87\x05\x19\x1a\n\x8a\x01\n\x04\x04\t\ + \x02\x01\x12\x04\x8a\x05\x02\x14\x1a|\x20(optional)\x20The\x20symbol\x20\ + that\x20appears\x20at\x20this\x20position.\x20See\n\x20`SymbolInformatio\ + n.symbol`\x20for\x20how\x20to\x20format\x20symbols\x20as\x20strings.\n\n\ + \r\n\x05\x04\t\x02\x01\x05\x12\x04\x8a\x05\x02\x08\n\r\n\x05\x04\t\x02\ + \x01\x01\x12\x04\x8a\x05\t\x0f\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x8a\ + \x05\x12\x13\n\x97\x01\n\x04\x04\t\x02\x02\x12\x04\x8d\x05\x02\x19\x1a\ + \x88\x01\x20(optional)\x20Bitset\x20containing\x20`SymbolRole`s\x20in\ + \x20this\x20occurrence.\n\x20See\x20`SymbolRole`'s\x20documentation\x20f\ + or\x20how\x20to\x20read\x20and\x20write\x20this\x20field.\n\n\r\n\x05\ + \x04\t\x02\x02\x05\x12\x04\x8d\x05\x02\x07\n\r\n\x05\x04\t\x02\x02\x01\ + \x12\x04\x8d\x05\x08\x14\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\x8d\x05\x17\ + \x18\n\xf1\x03\n\x04\x04\t\x02\x03\x12\x04\x96\x05\x02-\x1a\xe2\x03\x20(\ + optional)\x20CommonMark-formatted\x20documentation\x20for\x20this\x20spe\ + cific\x20range.\x20If\n\x20empty,\x20the\x20`Symbol.documentation`\x20fi\ + eld\x20is\x20used\x20instead.\x20One\x20example\n\x20where\x20this\x20fi\ + eld\x20might\x20be\x20useful\x20is\x20when\x20the\x20symbol\x20represent\ + s\x20a\x20generic\n\x20function\x20(with\x20abstract\x20type\x20paramete\ + rs\x20such\x20as\x20`List`)\x20and\x20at\x20this\n\x20occurrence\x20w\ + e\x20know\x20the\x20exact\x20values\x20(such\x20as\x20`List`).\n\ + \n\x20This\x20field\x20can\x20also\x20be\x20used\x20for\x20dynamically\ + \x20or\x20gradually\x20typed\x20languages,\n\x20which\x20commonly\x20all\ + ow\x20for\x20type-changing\x20assignment.\n\n\r\n\x05\x04\t\x02\x03\x04\ + \x12\x04\x96\x05\x02\n\n\r\n\x05\x04\t\x02\x03\x05\x12\x04\x96\x05\x0b\ + \x11\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\x96\x05\x12(\n\r\n\x05\x04\t\ + \x02\x03\x03\x12\x04\x96\x05+,\nX\n\x04\x04\t\x02\x04\x12\x04\x98\x05\ + \x02\x1d\x1aJ\x20(optional)\x20What\x20syntax\x20highlighting\x20class\ + \x20should\x20be\x20used\x20for\x20this\x20range?\n\n\r\n\x05\x04\t\x02\ + \x04\x06\x12\x04\x98\x05\x02\x0c\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\x98\ + \x05\r\x18\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\x98\x05\x1b\x1c\nW\n\x04\ + \x04\t\x02\x05\x12\x04\x9a\x05\x02&\x1aI\x20(optional)\x20Diagnostics\ + \x20that\x20have\x20been\x20reported\x20for\x20this\x20specific\x20range\ + .\n\n\r\n\x05\x04\t\x02\x05\x04\x12\x04\x9a\x05\x02\n\n\r\n\x05\x04\t\ + \x02\x05\x06\x12\x04\x9a\x05\x0b\x15\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\ + \x9a\x05\x16!\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\x9a\x05$%\n\xb8\x0e\n\ + \x04\x04\t\x02\x06\x12\x04\xcf\x05\x02%\x1a\xa9\x0e\x20(optional)\x20Usi\ + ng\x20the\x20same\x20encoding\x20as\x20the\x20sibling\x20`range`\x20fiel\ + d,\x20half-open\n\x20source\x20range\x20of\x20the\x20nearest\x20non-triv\ + ial\x20enclosing\x20AST\x20node.\x20This\x20range\x20must\n\x20enclose\ + \x20the\x20`range`\x20field.\x20Example\x20applications\x20that\x20make\ + \x20use\x20of\x20the\n\x20enclosing_range\x20field:\n\n\x20-\x20Call\x20\ + hierarchies:\x20to\x20determine\x20what\x20symbols\x20are\x20references\ + \x20from\x20the\x20body\n\x20\x20\x20of\x20a\x20function\n\x20-\x20Symbo\ + l\x20outline:\x20to\x20display\x20breadcrumbs\x20from\x20the\x20cursor\ + \x20position\x20to\x20the\n\x20\x20\x20root\x20of\x20the\x20file\n\x20-\ + \x20Expand\x20selection:\x20to\x20select\x20the\x20nearest\x20enclosing\ + \x20AST\x20node.\n\x20-\x20Highlight\x20range:\x20to\x20indicate\x20the\ + \x20AST\x20expression\x20that\x20is\x20associated\x20with\x20a\n\x20\x20\ + \x20hover\x20popover\n\n\x20For\x20definition\x20occurrences,\x20the\x20\ + enclosing\x20range\x20should\x20indicate\x20the\n\x20start/end\x20bounds\ + \x20of\x20the\x20entire\x20definition\x20AST\x20node,\x20including\n\x20\ + documentation.\n\x20```\n\x20const\x20n\x20=\x203\n\x20\x20\x20\x20\x20\ + \x20\x20^\x20range\n\x20^^^^^^^^^^^\x20enclosing_range\n\n\x20/**\x20Par\ + ses\x20the\x20string\x20into\x20something\x20*/\n\x20^\x20enclosing_rang\ + e\x20start\x20--------------------------------------|\n\x20function\x20p\ + arse(input\x20string):\x20string\x20{\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20range\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20|\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20range\x20\ + \x20|\n\x20\x20\x20\x20\x20return\x20input.slice(n)\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20}\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20return\x20input.slice(n)\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - |\n\x20}\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20|\n\x20^\x20enclosing_range\x20end\x20<-------------\ + --------------------------|\n\x20```\n\n\x20Any\x20attributes/decorators\ + /attached\x20macros\x20should\x20also\x20be\x20part\x20of\x20the\n\x20en\ + closing\x20range.\n\n\x20```python\n\x20@cache\n\x20^\x20enclosing_range\ + \x20start---------------------|\n\x20def\x20factorial(n):\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20return\x20n\x20*\x20facto\ + rial(n-1)\x20if\x20n\x20else\x201\x20\x20\x20|\n\x20<\x20enclosing_range\ + \x20end-----------------------|\n\x20\n\x20```\n\n\x20For\x20reference\ + \x20occurrences,\x20the\x20enclosing\x20range\x20should\x20indicate\x20t\ + he\x20start/end\n\x20bounds\x20of\x20the\x20parent\x20expression.\n\x20`\ + ``\n\x20const\x20a\x20=\x20a.b\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20^\x20range\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^\ + \x20enclosing_range\n\x20const\x20b\x20=\x20a.b(41).f(42).g(43)\n\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20^\x20enclosing_range\x20end\ - \x20<---------------------------------------|\n\x20```\n\n\x20Any\x20att\ - ributes/decorators/attached\x20macros\x20should\x20also\x20be\x20part\ - \x20of\x20the\n\x20enclosing\x20range.\n\n\x20```python\n\x20@cache\n\ - \x20^\x20enclosing_range\x20start---------------------|\n\x20def\x20fact\ - orial(n):\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20r\ - eturn\x20n\x20*\x20factorial(n-1)\x20if\x20n\x20else\x201\x20\x20\x20|\n\ - \x20<\x20enclosing_range\x20end-----------------------|\n\x20\n\x20```\n\ - \n\x20For\x20reference\x20occurrences,\x20the\x20enclosing\x20range\x20s\ - hould\x20indicate\x20the\x20start/end\n\x20bounds\x20of\x20the\x20parent\ - \x20expression.\n\x20```\n\x20const\x20a\x20=\x20a.b\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20range\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20^^^\x20enclosing_range\n\x20const\x20b\x20=\x20a.b(4\ - 1).f(42).g(43)\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20^\x20range\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20^^^^^^^^^^^^^\x20enclosing_range\n\x20```\n\n\r\n\x05\x04\t\x02\x06\ - \x04\x12\x04\xcd\x05\x02\n\n\r\n\x05\x04\t\x02\x06\x05\x12\x04\xcd\x05\ - \x0b\x10\n\r\n\x05\x04\t\x02\x06\x01\x12\x04\xcd\x05\x11\x20\n\r\n\x05\ - \x04\t\x02\x06\x03\x12\x04\xcd\x05#$\nw\n\x02\x04\n\x12\x06\xd2\x05\0\ - \xdd\x05\x01\x1ai\x20Represents\x20a\x20diagnostic,\x20such\x20as\x20a\ - \x20compiler\x20error\x20or\x20warning,\x20which\x20should\x20be\n\x20re\ - ported\x20for\x20a\x20document.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xd2\x05\ - \x08\x12\nW\n\x04\x04\n\x02\0\x12\x04\xd4\x05\x02\x18\x1aI\x20Should\x20\ - this\x20diagnostic\x20be\x20reported\x20as\x20an\x20error,\x20warning,\ - \x20info,\x20or\x20hint?\n\n\r\n\x05\x04\n\x02\0\x06\x12\x04\xd4\x05\x02\ - \n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xd4\x05\x0b\x13\n\r\n\x05\x04\n\x02\ - \0\x03\x12\x04\xd4\x05\x16\x17\n]\n\x04\x04\n\x02\x01\x12\x04\xd6\x05\ - \x02\x12\x1aO\x20(optional)\x20Code\x20of\x20this\x20diagnostic,\x20whic\ - h\x20might\x20appear\x20in\x20the\x20user\x20interface.\n\n\r\n\x05\x04\ - \n\x02\x01\x05\x12\x04\xd6\x05\x02\x08\n\r\n\x05\x04\n\x02\x01\x01\x12\ - \x04\xd6\x05\t\r\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xd6\x05\x10\x11\n+\ - \n\x04\x04\n\x02\x02\x12\x04\xd8\x05\x02\x15\x1a\x1d\x20Message\x20of\ - \x20this\x20diagnostic.\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xd8\x05\ - \x02\x08\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xd8\x05\t\x10\n\r\n\x05\x04\ - \n\x02\x02\x03\x12\x04\xd8\x05\x13\x14\n~\n\x04\x04\n\x02\x03\x12\x04\ - \xdb\x05\x02\x14\x1ap\x20(optional)\x20Human-readable\x20string\x20descr\ - ibing\x20the\x20source\x20of\x20this\x20diagnostic,\x20e.g.\n\x20'typesc\ - ript'\x20or\x20'super\x20lint'.\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\ - \xdb\x05\x02\x08\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xdb\x05\t\x0f\n\r\n\ - \x05\x04\n\x02\x03\x03\x12\x04\xdb\x05\x12\x13\n\x0c\n\x04\x04\n\x02\x04\ - \x12\x04\xdc\x05\x02\"\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xdc\x05\x02\n\ - \n\r\n\x05\x04\n\x02\x04\x06\x12\x04\xdc\x05\x0b\x18\n\r\n\x05\x04\n\x02\ - \x04\x01\x12\x04\xdc\x05\x19\x1d\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xdc\ - \x05\x20!\n\x0c\n\x02\x05\x05\x12\x06\xdf\x05\0\xe5\x05\x01\n\x0b\n\x03\ - \x05\x05\x01\x12\x04\xdf\x05\x05\r\n\x0c\n\x04\x05\x05\x02\0\x12\x04\xe0\ - \x05\x02\x1a\n\r\n\x05\x05\x05\x02\0\x01\x12\x04\xe0\x05\x02\x15\n\r\n\ - \x05\x05\x05\x02\0\x02\x12\x04\xe0\x05\x18\x19\n\x0c\n\x04\x05\x05\x02\ - \x01\x12\x04\xe1\x05\x02\x0c\n\r\n\x05\x05\x05\x02\x01\x01\x12\x04\xe1\ - \x05\x02\x07\n\r\n\x05\x05\x05\x02\x01\x02\x12\x04\xe1\x05\n\x0b\n\x0c\n\ - \x04\x05\x05\x02\x02\x12\x04\xe2\x05\x02\x0e\n\r\n\x05\x05\x05\x02\x02\ - \x01\x12\x04\xe2\x05\x02\t\n\r\n\x05\x05\x05\x02\x02\x02\x12\x04\xe2\x05\ - \x0c\r\n\x0c\n\x04\x05\x05\x02\x03\x12\x04\xe3\x05\x02\x12\n\r\n\x05\x05\ - \x05\x02\x03\x01\x12\x04\xe3\x05\x02\r\n\r\n\x05\x05\x05\x02\x03\x02\x12\ - \x04\xe3\x05\x10\x11\n\x0c\n\x04\x05\x05\x02\x04\x12\x04\xe4\x05\x02\x0b\ - \n\r\n\x05\x05\x05\x02\x04\x01\x12\x04\xe4\x05\x02\x06\n\r\n\x05\x05\x05\ - \x02\x04\x02\x12\x04\xe4\x05\t\n\n\x0c\n\x02\x05\x06\x12\x06\xe7\x05\0\ - \xeb\x05\x01\n\x0b\n\x03\x05\x06\x01\x12\x04\xe7\x05\x05\x12\n\x0c\n\x04\ - \x05\x06\x02\0\x12\x04\xe8\x05\x02\x1f\n\r\n\x05\x05\x06\x02\0\x01\x12\ - \x04\xe8\x05\x02\x1a\n\r\n\x05\x05\x06\x02\0\x02\x12\x04\xe8\x05\x1d\x1e\ - \n\x0c\n\x04\x05\x06\x02\x01\x12\x04\xe9\x05\x02\x12\n\r\n\x05\x05\x06\ - \x02\x01\x01\x12\x04\xe9\x05\x02\r\n\r\n\x05\x05\x06\x02\x01\x02\x12\x04\ - \xe9\x05\x10\x11\n\x0c\n\x04\x05\x06\x02\x02\x12\x04\xea\x05\x02\x11\n\r\ - \n\x05\x05\x06\x02\x02\x01\x12\x04\xea\x05\x02\x0c\n\r\n\x05\x05\x06\x02\ - \x02\x02\x12\x04\xea\x05\x0f\x10\n\xd0\x03\n\x02\x05\x07\x12\x06\xf3\x05\ - \0\xe9\x06\x01\x1a\xc1\x03\x20Language\x20standardises\x20names\x20of\ - \x20common\x20programming\x20languages\x20that\x20can\x20be\x20used\n\ - \x20for\x20the\x20`Document.language`\x20field.\x20The\x20primary\x20pur\ - pose\x20of\x20this\x20enum\x20is\x20to\n\x20prevent\x20a\x20situation\ - \x20where\x20we\x20have\x20a\x20single\x20programming\x20language\x20end\ - s\x20up\x20with\n\x20multiple\x20string\x20representations.\x20For\x20ex\ - ample,\x20the\x20C++\x20language\x20uses\x20the\x20name\n\x20\"CPP\"\x20\ - in\x20this\x20enum\x20and\x20other\x20names\x20such\x20as\x20\"cpp\"\x20\ - are\x20incompatible.\n\x20Feel\x20free\x20to\x20send\x20a\x20pull-reques\ - t\x20to\x20add\x20missing\x20programming\x20languages.\n\n\x0b\n\x03\x05\ - \x07\x01\x12\x04\xf3\x05\x05\r\n\x0c\n\x04\x05\x07\x02\0\x12\x04\xf4\x05\ - \x02\x1a\n\r\n\x05\x05\x07\x02\0\x01\x12\x04\xf4\x05\x02\x15\n\r\n\x05\ - \x05\x07\x02\0\x02\x12\x04\xf4\x05\x18\x19\n\x0c\n\x04\x05\x07\x02\x01\ - \x12\x04\xf5\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\xf5\x05\ - \x02\x06\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xf5\x05\t\x0b\n\x0c\n\x04\ - \x05\x07\x02\x02\x12\x04\xf6\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x02\x01\ - \x12\x04\xf6\x05\x02\x06\n\r\n\x05\x05\x07\x02\x02\x02\x12\x04\xf6\x05\t\ - \x0b\n\x0c\n\x04\x05\x07\x02\x03\x12\x04\xf7\x05\x02\x0b\n\r\n\x05\x05\ - \x07\x02\x03\x01\x12\x04\xf7\x05\x02\x05\n\r\n\x05\x05\x07\x02\x03\x02\ - \x12\x04\xf7\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x04\x12\x04\xf8\x05\x02\ - \x0b\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\xf8\x05\x02\x05\n\r\n\x05\x05\ - \x07\x02\x04\x02\x12\x04\xf8\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x05\x12\ - \x04\xf9\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x05\x01\x12\x04\xf9\x05\x02\ - \x06\n\r\n\x05\x05\x07\x02\x05\x02\x12\x04\xf9\x05\t\x0b\n\x0c\n\x04\x05\ - \x07\x02\x06\x12\x04\xfa\x05\x02\x10\n\r\n\x05\x05\x07\x02\x06\x01\x12\ - \x04\xfa\x05\x02\n\n\r\n\x05\x05\x07\x02\x06\x02\x12\x04\xfa\x05\r\x0f\n\ - \x0c\n\x04\x05\x07\x02\x07\x12\x04\xfb\x05\x02\x10\n\r\n\x05\x05\x07\x02\ - \x07\x01\x12\x04\xfb\x05\x02\n\n\r\n\x05\x05\x07\x02\x07\x02\x12\x04\xfb\ - \x05\r\x0f\n\x0c\n\x04\x05\x07\x02\x08\x12\x04\xfc\x05\x02\x0b\n\r\n\x05\ - \x05\x07\x02\x08\x01\x12\x04\xfc\x05\x02\x05\n\r\n\x05\x05\x07\x02\x08\ - \x02\x12\x04\xfc\x05\x08\n\n\x0c\n\x04\x05\x07\x02\t\x12\x04\xfd\x05\x02\ - \x0b\n\r\n\x05\x05\x07\x02\t\x01\x12\x04\xfd\x05\x02\x05\n\r\n\x05\x05\ - \x07\x02\t\x02\x12\x04\xfd\x05\x08\n\n\x0c\n\x04\x05\x07\x02\n\x12\x04\ - \xfe\x05\x02\x0e\n\r\n\x05\x05\x07\x02\n\x01\x12\x04\xfe\x05\x02\x08\n\r\ - \n\x05\x05\x07\x02\n\x02\x12\x04\xfe\x05\x0b\r\n\x0c\n\x04\x05\x07\x02\ - \x0b\x12\x04\xff\x05\x02\t\n\r\n\x05\x05\x07\x02\x0b\x01\x12\x04\xff\x05\ - \x02\x03\n\r\n\x05\x05\x07\x02\x0b\x02\x12\x04\xff\x05\x06\x08\n\x0c\n\ - \x04\x05\x07\x02\x0c\x12\x04\x80\x06\x02\r\n\r\n\x05\x05\x07\x02\x0c\x01\ - \x12\x04\x80\x06\x02\x07\n\r\n\x05\x05\x07\x02\x0c\x02\x12\x04\x80\x06\n\ - \x0c\nH\n\x04\x05\x07\x02\r\x12\x04\x81\x06\x02\x0b\":\x20C++\x20(the\ - \x20name\x20\"CPP\"\x20was\x20chosen\x20for\x20consistency\x20with\x20LS\ - P)\n\n\r\n\x05\x05\x07\x02\r\x01\x12\x04\x81\x06\x02\x05\n\r\n\x05\x05\ - \x07\x02\r\x02\x12\x04\x81\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0e\x12\x04\ - \x82\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x0e\x01\x12\x04\x82\x06\x02\x05\n\ - \r\n\x05\x05\x07\x02\x0e\x02\x12\x04\x82\x06\x08\n\n\x0c\n\x04\x05\x07\ - \x02\x0f\x12\x04\x83\x06\x02\r\n\r\n\x05\x05\x07\x02\x0f\x01\x12\x04\x83\ - \x06\x02\x08\n\r\n\x05\x05\x07\x02\x0f\x02\x12\x04\x83\x06\x0b\x0c\n\x0c\ - \n\x04\x05\x07\x02\x10\x12\x04\x84\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x10\ - \x01\x12\x04\x84\x06\x02\t\n\r\n\x05\x05\x07\x02\x10\x02\x12\x04\x84\x06\ - \x0c\r\n\x0c\n\x04\x05\x07\x02\x11\x12\x04\x85\x06\x02\x14\n\r\n\x05\x05\ - \x07\x02\x11\x01\x12\x04\x85\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\ - \x12\x04\x85\x06\x11\x13\n\x0c\n\x04\x05\x07\x02\x12\x12\x04\x86\x06\x02\ - \x11\n\r\n\x05\x05\x07\x02\x12\x01\x12\x04\x86\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02\x12\x02\x12\x04\x86\x06\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\ - \x04\x87\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x13\x01\x12\x04\x87\x06\x02\ - \x05\n\r\n\x05\x05\x07\x02\x13\x02\x12\x04\x87\x06\x08\n\n\x0c\n\x04\x05\ - \x07\x02\x14\x12\x04\x88\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\ - \x04\x88\x06\x02\x06\n\r\n\x05\x05\x07\x02\x14\x02\x12\x04\x88\x06\t\x0b\ - \n\x0c\n\x04\x05\x07\x02\x15\x12\x04\x89\x06\x02\x0b\n\r\n\x05\x05\x07\ - \x02\x15\x01\x12\x04\x89\x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\ - \x04\x89\x06\t\n\n\x0c\n\x04\x05\x07\x02\x16\x12\x04\x8a\x06\x02\x0e\n\r\ - \n\x05\x05\x07\x02\x16\x01\x12\x04\x8a\x06\x02\x08\n\r\n\x05\x05\x07\x02\ - \x16\x02\x12\x04\x8a\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\x8b\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x17\x01\x12\x04\x8b\x06\x02\x06\n\r\n\ - \x05\x05\x07\x02\x17\x02\x12\x04\x8b\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\ - \x18\x12\x04\x8c\x06\x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\x8c\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x18\x02\x12\x04\x8c\x06\x0f\x11\n\x0c\ - \n\x04\x05\x07\x02\x19\x12\x04\x8d\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\ - \x01\x12\x04\x8d\x06\x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\x8d\ - \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1a\x12\x04\x8e\x06\x02\x0e\n\r\n\x05\ - \x05\x07\x02\x1a\x01\x12\x04\x8e\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\ - \x02\x12\x04\x8e\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\x8f\x06\ - \x02\x0e\n\r\n\x05\x05\x07\x02\x1b\x01\x12\x04\x8f\x06\x02\x08\n\r\n\x05\ - \x05\x07\x02\x1b\x02\x12\x04\x8f\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\ - \x12\x04\x90\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\x90\x06\ - \x02\x08\n\r\n\x05\x05\x07\x02\x1c\x02\x12\x04\x90\x06\x0b\r\n\x0c\n\x04\ - \x05\x07\x02\x1d\x12\x04\x91\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\ - \x12\x04\x91\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\x91\x06\t\ - \x0b\n\x0c\n\x04\x05\x07\x02\x1e\x12\x04\x92\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02\x1e\x01\x12\x04\x92\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\ - \x12\x04\x92\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\x93\x06\x02\ - \x0f\n\r\n\x05\x05\x07\x02\x1f\x01\x12\x04\x93\x06\x02\t\n\r\n\x05\x05\ - \x07\x02\x1f\x02\x12\x04\x93\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\ - \x04\x94\x06\x02\x12\n\r\n\x05\x05\x07\x02\x20\x01\x12\x04\x94\x06\x02\ - \x0c\n\r\n\x05\x05\x07\x02\x20\x02\x12\x04\x94\x06\x0f\x11\n\x0c\n\x04\ - \x05\x07\x02!\x12\x04\x95\x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\ - \x95\x06\x02\x0c\n\r\n\x05\x05\x07\x02!\x02\x12\x04\x95\x06\x0f\x11\n\ - \x0c\n\x04\x05\x07\x02\"\x12\x04\x96\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\ - \x01\x12\x04\x96\x06\x02\x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\x96\x06\ - \x0f\x11\n\x0c\n\x04\x05\x07\x02#\x12\x04\x97\x06\x02\n\n\r\n\x05\x05\ - \x07\x02#\x01\x12\x04\x97\x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\ - \x97\x06\x07\t\n\x0c\n\x04\x05\x07\x02$\x12\x04\x98\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x02$\x01\x12\x04\x98\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\ - \x12\x04\x98\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02%\x12\x04\x99\x06\x02\r\ - \n\r\n\x05\x05\x07\x02%\x01\x12\x04\x99\x06\x02\x08\n\r\n\x05\x05\x07\ - \x02%\x02\x12\x04\x99\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\x9a\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02&\x01\x12\x04\x9a\x06\x02\x06\n\r\n\ - \x05\x05\x07\x02&\x02\x12\x04\x9a\x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\ - \x04\x9b\x06\x02\x0c\n\r\n\x05\x05\x07\x02'\x01\x12\x04\x9b\x06\x02\x06\ - \n\r\n\x05\x05\x07\x02'\x02\x12\x04\x9b\x06\t\x0b\n\x0c\n\x04\x05\x07\ - \x02(\x12\x04\x9c\x06\x02\x12\n\r\n\x05\x05\x07\x02(\x01\x12\x04\x9c\x06\ - \x02\x0c\n\r\n\x05\x05\x07\x02(\x02\x12\x04\x9c\x06\x0f\x11\n\x0c\n\x04\ - \x05\x07\x02)\x12\x04\x9d\x06\x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\ - \x9d\x06\x02\t\n\r\n\x05\x05\x07\x02)\x02\x12\x04\x9d\x06\x0c\x0e\n\x0c\ - \n\x04\x05\x07\x02*\x12\x04\x9e\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\ - \x04\x9e\x06\x02\x07\n\r\n\x05\x05\x07\x02*\x02\x12\x04\x9e\x06\n\x0c\n\ - \x0c\n\x04\x05\x07\x02+\x12\x04\x9f\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\ - \x01\x12\x04\x9f\x06\x02\x05\n\r\n\x05\x05\x07\x02+\x02\x12\x04\x9f\x06\ - \x08\n\n\x0c\n\x04\x05\x07\x02,\x12\x04\xa0\x06\x02\t\n\r\n\x05\x05\x07\ - \x02,\x01\x12\x04\xa0\x06\x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\xa0\ - \x06\x06\x08\n\x0c\n\x04\x05\x07\x02-\x12\x04\xa1\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x02-\x01\x12\x04\xa1\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\ - \x04\xa1\x06\t\x0b\n\x0c\n\x04\x05\x07\x02.\x12\x04\xa2\x06\x02\x0b\n\r\ - \n\x05\x05\x07\x02.\x01\x12\x04\xa2\x06\x02\x06\n\r\n\x05\x05\x07\x02.\ - \x02\x12\x04\xa2\x06\t\n\n\x0c\n\x04\x05\x07\x02/\x12\x04\xa3\x06\x02\ - \x12\n\r\n\x05\x05\x07\x02/\x01\x12\x04\xa3\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02/\x02\x12\x04\xa3\x06\x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\ - \xa4\x06\x02\x17\n\r\n\x05\x05\x07\x020\x01\x12\x04\xa4\x06\x02\x11\n\r\ - \n\x05\x05\x07\x020\x02\x12\x04\xa4\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\ - \x12\x04\xa5\x06\x02\x0f\n\r\n\x05\x05\x07\x021\x01\x12\x04\xa5\x06\x02\ - \t\n\r\n\x05\x05\x07\x021\x02\x12\x04\xa5\x06\x0c\x0e\n\x0c\n\x04\x05\ - \x07\x022\x12\x04\xa6\x06\x02\x0e\n\r\n\x05\x05\x07\x022\x01\x12\x04\xa6\ - \x06\x02\x07\n\r\n\x05\x05\x07\x022\x02\x12\x04\xa6\x06\x0b\r\n\x0c\n\ - \x04\x05\x07\x023\x12\x04\xa7\x06\x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\ - \x04\xa7\x06\x02\n\n\r\n\x05\x05\x07\x023\x02\x12\x04\xa7\x06\r\x10\n\ - \x0c\n\x04\x05\x07\x024\x12\x04\xa8\x06\x02\r\n\r\n\x05\x05\x07\x024\x01\ - \x12\x04\xa8\x06\x02\x08\n\r\n\x05\x05\x07\x024\x02\x12\x04\xa8\x06\x0b\ - \x0c\n\x0c\n\x04\x05\x07\x025\x12\x04\xa9\x06\x02\r\n\r\n\x05\x05\x07\ - \x025\x01\x12\x04\xa9\x06\x02\x07\n\r\n\x05\x05\x07\x025\x02\x12\x04\xa9\ - \x06\n\x0c\n\x0c\n\x04\x05\x07\x026\x12\x04\xaa\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x026\x01\x12\x04\xaa\x06\x02\x06\n\r\n\x05\x05\x07\x026\x02\x12\ - \x04\xaa\x06\t\x0b\n\x0c\n\x04\x05\x07\x027\x12\x04\xab\x06\x02\x0c\n\r\ - \n\x05\x05\x07\x027\x01\x12\x04\xab\x06\x02\x06\n\r\n\x05\x05\x07\x027\ - \x02\x12\x04\xab\x06\t\x0b\n\x0c\n\x04\x05\x07\x028\x12\x04\xac\x06\x02\ - \x0b\n\r\n\x05\x05\x07\x028\x01\x12\x04\xac\x06\x02\x05\n\r\n\x05\x05\ - \x07\x028\x02\x12\x04\xac\x06\x08\n\n\x0c\n\x04\x05\x07\x029\x12\x04\xad\ - \x06\x02\r\n\r\n\x05\x05\x07\x029\x01\x12\x04\xad\x06\x02\x06\n\r\n\x05\ - \x05\x07\x029\x02\x12\x04\xad\x06\t\x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\ - \xae\x06\x02\x10\n\r\n\x05\x05\x07\x02:\x01\x12\x04\xae\x06\x02\n\n\r\n\ - \x05\x05\x07\x02:\x02\x12\x04\xae\x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\ - \x04\xaf\x06\x02\x10\n\r\n\x05\x05\x07\x02;\x01\x12\x04\xaf\x06\x02\n\n\ - \r\n\x05\x05\x07\x02;\x02\x12\x04\xaf\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\ - \x12\x04\xb0\x06\x02\x0e\n\r\n\x05\x05\x07\x02<\x01\x12\x04\xb0\x06\x02\ - \x08\n\r\n\x05\x05\x07\x02<\x02\x12\x04\xb0\x06\x0b\r\n(\n\x04\x05\x07\ - \x02=\x12\x04\xb1\x06\x02\x0f\"\x1a\x20https://nickel-lang.org/\n\n\r\n\ - \x05\x05\x07\x02=\x01\x12\x04\xb1\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\ - \x12\x04\xb1\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02>\x12\x04\xb2\x06\x02\ - \x0b\n\r\n\x05\x05\x07\x02>\x01\x12\x04\xb2\x06\x02\x05\n\r\n\x05\x05\ - \x07\x02>\x02\x12\x04\xb2\x06\x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xb3\ - \x06\x02\r\n\r\n\x05\x05\x07\x02?\x01\x12\x04\xb3\x06\x02\x07\n\r\n\x05\ - \x05\x07\x02?\x02\x12\x04\xb3\x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\ - \xb4\x06\x02\x13\n\r\n\x05\x05\x07\x02@\x01\x12\x04\xb4\x06\x02\r\n\r\n\ - \x05\x05\x07\x02@\x02\x12\x04\xb4\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\ - \x12\x04\xb5\x06\x02\x15\n\r\n\x05\x05\x07\x02A\x01\x12\x04\xb5\x06\x02\ - \x0f\n\r\n\x05\x05\x07\x02A\x02\x12\x04\xb5\x06\x12\x14\n\x0c\n\x04\x05\ - \x07\x02B\x12\x04\xb6\x06\x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xb6\ - \x06\x02\x08\n\r\n\x05\x05\x07\x02B\x02\x12\x04\xb6\x06\x0b\r\n\x0c\n\ - \x04\x05\x07\x02C\x12\x04\xb7\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\ - \x04\xb7\x06\x02\x05\n\r\n\x05\x05\x07\x02C\x02\x12\x04\xb7\x06\x08\n\n\ - \x0c\n\x04\x05\x07\x02D\x12\x04\xb8\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\ - \x12\x04\xb8\x06\x02\x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xb8\x06\n\ - \x0c\n\x0c\n\x04\x05\x07\x02E\x12\x04\xb9\x06\x02\x0c\n\r\n\x05\x05\x07\ - \x02E\x01\x12\x04\xb9\x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xb9\ - \x06\t\x0b\n\x0c\n\x04\x05\x07\x02F\x12\x04\xba\x06\x02\x12\n\r\n\x05\ - \x05\x07\x02F\x01\x12\x04\xba\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\ - \x04\xba\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02G\x12\x04\xbb\x06\x02\x0e\n\ - \r\n\x05\x05\x07\x02G\x01\x12\x04\xbb\x06\x02\x08\n\r\n\x05\x05\x07\x02G\ - \x02\x12\x04\xbb\x06\x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xbc\x06\x02\ - \x11\n\r\n\x05\x05\x07\x02H\x01\x12\x04\xbc\x06\x02\n\n\r\n\x05\x05\x07\ - \x02H\x02\x12\x04\xbc\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xbd\x06\ - \x02\x0e\n\r\n\x05\x05\x07\x02I\x01\x12\x04\xbd\x06\x02\x08\n\r\n\x05\ - \x05\x07\x02I\x02\x12\x04\xbd\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\ - \xbe\x06\x02\t\n\r\n\x05\x05\x07\x02J\x01\x12\x04\xbe\x06\x02\x03\n\r\n\ - \x05\x05\x07\x02J\x02\x12\x04\xbe\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\ - \x12\x04\xbf\x06\x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xbf\x06\x02\ - \x08\n\r\n\x05\x05\x07\x02K\x02\x12\x04\xbf\x06\x0b\r\n\x0c\n\x04\x05\ - \x07\x02L\x12\x04\xc0\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xc0\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02L\x02\x12\x04\xc0\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x02M\x12\x04\xc1\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\ - \x04\xc1\x06\x02\x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xc1\x06\n\x0c\n2\ - \n\x04\x05\x07\x02N\x12\x04\xc2\x06\x02\x0e\"$\x20Internal\x20language\ - \x20for\x20testing\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xc2\x06\ - \x02\x07\n\r\n\x05\x05\x07\x02N\x02\x12\x04\xc2\x06\n\r\n\x0c\n\x04\x05\ - \x07\x02O\x12\x04\xc3\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xc3\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02O\x02\x12\x04\xc3\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x02P\x12\x04\xc4\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\ - \x04\xc4\x06\x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xc4\x06\t\x0b\n\ - \x0c\n\x04\x05\x07\x02Q\x12\x04\xc5\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\ - \x01\x12\x04\xc5\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xc5\x06\ - \t\x0b\n\x0c\n\x04\x05\x07\x02R\x12\x04\xc6\x06\x02\x0b\n\r\n\x05\x05\ - \x07\x02R\x01\x12\x04\xc6\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\ - \xc6\x06\x08\n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xc7\x06\x02\x0c\n\r\n\ - \x05\x05\x07\x02S\x01\x12\x04\xc7\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\ - \x12\x04\xc7\x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xc8\x06\x02\x0b\ - \n\r\n\x05\x05\x07\x02T\x01\x12\x04\xc8\x06\x02\x05\n\r\n\x05\x05\x07\ - \x02T\x02\x12\x04\xc8\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xc9\x06\ - \x02\x0b\n\r\n\x05\x05\x07\x02U\x01\x12\x04\xc9\x06\x02\x05\n\r\n\x05\ - \x05\x07\x02U\x02\x12\x04\xc9\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\ - \xca\x06\x02\x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xca\x06\x02\x06\n\r\ - \n\x05\x05\x07\x02V\x02\x12\x04\xca\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\ - \x12\x04\xcb\x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xcb\x06\x02\ - \x07\n\r\n\x05\x05\x07\x02W\x02\x12\x04\xcb\x06\n\x0b\n\x0c\n\x04\x05\ - \x07\x02X\x12\x04\xcc\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xcc\ - \x06\x02\x08\n\r\n\x05\x05\x07\x02X\x02\x12\x04\xcc\x06\x0b\r\n\x14\n\ - \x04\x05\x07\x02Y\x12\x04\xcd\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\ - \x07\x02Y\x01\x12\x04\xcd\x06\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\ - \xcd\x06\x10\x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xce\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x02Z\x01\x12\x04\xce\x06\x02\t\n\r\n\x05\x05\x07\x02Z\x02\ - \x12\x04\xce\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\xcf\x06\x02\ - \x0e\n\r\n\x05\x05\x07\x02[\x01\x12\x04\xcf\x06\x02\x07\n\r\n\x05\x05\ - \x07\x02[\x02\x12\x04\xcf\x06\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xd0\ - \x06\x02\x10\n\r\n\x05\x05\x07\x02\\\x01\x12\x04\xd0\x06\x02\n\n\r\n\x05\ - \x05\x07\x02\\\x02\x12\x04\xd0\x06\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\ - \x04\xd1\x06\x02\x0f\n\r\n\x05\x05\x07\x02]\x01\x12\x04\xd1\x06\x02\x08\ - \n\r\n\x05\x05\x07\x02]\x02\x12\x04\xd1\x06\x0b\x0e\n\x0c\n\x04\x05\x07\ - \x02^\x12\x04\xd2\x06\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xd2\x06\ - \x02\x07\n\r\n\x05\x05\x07\x02^\x02\x12\x04\xd2\x06\n\x0b\n\x0c\n\x04\ - \x05\x07\x02_\x12\x04\xd3\x06\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\ - \xd3\x06\x02\x05\n\r\n\x05\x05\x07\x02_\x02\x12\x04\xd3\x06\x08\x0b\n\ - \x0c\n\x04\x05\x07\x02`\x12\x04\xd4\x06\x02\x0c\n\r\n\x05\x05\x07\x02`\ - \x01\x12\x04\xd4\x06\x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\xd4\x06\ - \t\x0b\n\x0c\n\x04\x05\x07\x02a\x12\x04\xd5\x06\x02\x0b\n\r\n\x05\x05\ - \x07\x02a\x01\x12\x04\xd5\x06\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\ - \xd5\x06\x08\n\n\x0c\n\x04\x05\x07\x02b\x12\x04\xd6\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x02b\x01\x12\x04\xd6\x06\x02\x08\n\r\n\x05\x05\x07\x02b\x02\ - \x12\x04\xd6\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\xd7\x06\x02\ - \x12\n\r\n\x05\x05\x07\x02c\x01\x12\x04\xd7\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02c\x02\x12\x04\xd7\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\ - \xd8\x06\x02\x17\n\r\n\x05\x05\x07\x02d\x01\x12\x04\xd8\x06\x02\x11\n\r\ - \n\x05\x05\x07\x02d\x02\x12\x04\xd8\x06\x14\x16\n\x0c\n\x04\x05\x07\x02e\ - \x12\x04\xd9\x06\x02\x10\n\r\n\x05\x05\x07\x02e\x01\x12\x04\xd9\x06\x02\ - \t\n\r\n\x05\x05\x07\x02e\x02\x12\x04\xd9\x06\x0c\x0f\n\x0c\n\x04\x05\ - \x07\x02f\x12\x04\xda\x06\x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xda\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02f\x02\x12\x04\xda\x06\t\x0c\n\x0c\n\ - \x04\x05\x07\x02g\x12\x04\xdb\x06\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\ - \x04\xdb\x06\x02\r\n\r\n\x05\x05\x07\x02g\x02\x12\x04\xdb\x06\x10\x12\n\ - \x0c\n\x04\x05\x07\x02h\x12\x04\xdc\x06\x02\x0b\n\r\n\x05\x05\x07\x02h\ - \x01\x12\x04\xdc\x06\x02\x05\n\r\n\x05\x05\x07\x02h\x02\x12\x04\xdc\x06\ - \x08\n\n\x0c\n\x04\x05\x07\x02i\x12\x04\xdd\x06\x02\x0f\n\r\n\x05\x05\ - \x07\x02i\x01\x12\x04\xdd\x06\x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\ - \xdd\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02j\x12\x04\xde\x06\x02\x0b\n\r\n\ - \x05\x05\x07\x02j\x01\x12\x04\xde\x06\x02\x05\n\r\n\x05\x05\x07\x02j\x02\ - \x12\x04\xde\x06\x08\n\n\x0c\n\x04\x05\x07\x02k\x12\x04\xdf\x06\x02\x0b\ - \n\r\n\x05\x05\x07\x02k\x01\x12\x04\xdf\x06\x02\x05\n\r\n\x05\x05\x07\ - \x02k\x02\x12\x04\xdf\x06\x08\n\n\x0c\n\x04\x05\x07\x02l\x12\x04\xe0\x06\ - \x02\x0c\n\r\n\x05\x05\x07\x02l\x01\x12\x04\xe0\x06\x02\x06\n\r\n\x05\ - \x05\x07\x02l\x02\x12\x04\xe0\x06\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\ - \x04\xe1\x06\x02\x0b\"\x84\x03\x20NextLanguage\x20=\x20111;\n\x20Steps\ + ^\x20range\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^^^^^^^^\ + \x20enclosing_range\n\x20```\n\n\r\n\x05\x04\t\x02\x06\x04\x12\x04\xcf\ + \x05\x02\n\n\r\n\x05\x04\t\x02\x06\x05\x12\x04\xcf\x05\x0b\x10\n\r\n\x05\ + \x04\t\x02\x06\x01\x12\x04\xcf\x05\x11\x20\n\r\n\x05\x04\t\x02\x06\x03\ + \x12\x04\xcf\x05#$\nw\n\x02\x04\n\x12\x06\xd4\x05\0\xdf\x05\x01\x1ai\x20\ + Represents\x20a\x20diagnostic,\x20such\x20as\x20a\x20compiler\x20error\ + \x20or\x20warning,\x20which\x20should\x20be\n\x20reported\x20for\x20a\ + \x20document.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xd4\x05\x08\x12\nW\n\x04\ + \x04\n\x02\0\x12\x04\xd6\x05\x02\x18\x1aI\x20Should\x20this\x20diagnosti\ + c\x20be\x20reported\x20as\x20an\x20error,\x20warning,\x20info,\x20or\x20\ + hint?\n\n\r\n\x05\x04\n\x02\0\x06\x12\x04\xd6\x05\x02\n\n\r\n\x05\x04\n\ + \x02\0\x01\x12\x04\xd6\x05\x0b\x13\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xd6\ + \x05\x16\x17\n]\n\x04\x04\n\x02\x01\x12\x04\xd8\x05\x02\x12\x1aO\x20(opt\ + ional)\x20Code\x20of\x20this\x20diagnostic,\x20which\x20might\x20appear\ + \x20in\x20the\x20user\x20interface.\n\n\r\n\x05\x04\n\x02\x01\x05\x12\ + \x04\xd8\x05\x02\x08\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xd8\x05\t\r\n\r\ + \n\x05\x04\n\x02\x01\x03\x12\x04\xd8\x05\x10\x11\n+\n\x04\x04\n\x02\x02\ + \x12\x04\xda\x05\x02\x15\x1a\x1d\x20Message\x20of\x20this\x20diagnostic.\ + \n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xda\x05\x02\x08\n\r\n\x05\x04\n\ + \x02\x02\x01\x12\x04\xda\x05\t\x10\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\ + \xda\x05\x13\x14\n~\n\x04\x04\n\x02\x03\x12\x04\xdd\x05\x02\x14\x1ap\x20\ + (optional)\x20Human-readable\x20string\x20describing\x20the\x20source\ + \x20of\x20this\x20diagnostic,\x20e.g.\n\x20'typescript'\x20or\x20'super\ + \x20lint'.\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xdd\x05\x02\x08\n\r\n\ + \x05\x04\n\x02\x03\x01\x12\x04\xdd\x05\t\x0f\n\r\n\x05\x04\n\x02\x03\x03\ + \x12\x04\xdd\x05\x12\x13\n\x0c\n\x04\x04\n\x02\x04\x12\x04\xde\x05\x02\"\ + \n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xde\x05\x02\n\n\r\n\x05\x04\n\x02\ + \x04\x06\x12\x04\xde\x05\x0b\x18\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xde\ + \x05\x19\x1d\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xde\x05\x20!\n\x0c\n\ + \x02\x05\x05\x12\x06\xe1\x05\0\xe7\x05\x01\n\x0b\n\x03\x05\x05\x01\x12\ + \x04\xe1\x05\x05\r\n\x0c\n\x04\x05\x05\x02\0\x12\x04\xe2\x05\x02\x1a\n\r\ + \n\x05\x05\x05\x02\0\x01\x12\x04\xe2\x05\x02\x15\n\r\n\x05\x05\x05\x02\0\ + \x02\x12\x04\xe2\x05\x18\x19\n\x0c\n\x04\x05\x05\x02\x01\x12\x04\xe3\x05\ + \x02\x0c\n\r\n\x05\x05\x05\x02\x01\x01\x12\x04\xe3\x05\x02\x07\n\r\n\x05\ + \x05\x05\x02\x01\x02\x12\x04\xe3\x05\n\x0b\n\x0c\n\x04\x05\x05\x02\x02\ + \x12\x04\xe4\x05\x02\x0e\n\r\n\x05\x05\x05\x02\x02\x01\x12\x04\xe4\x05\ + \x02\t\n\r\n\x05\x05\x05\x02\x02\x02\x12\x04\xe4\x05\x0c\r\n\x0c\n\x04\ + \x05\x05\x02\x03\x12\x04\xe5\x05\x02\x12\n\r\n\x05\x05\x05\x02\x03\x01\ + \x12\x04\xe5\x05\x02\r\n\r\n\x05\x05\x05\x02\x03\x02\x12\x04\xe5\x05\x10\ + \x11\n\x0c\n\x04\x05\x05\x02\x04\x12\x04\xe6\x05\x02\x0b\n\r\n\x05\x05\ + \x05\x02\x04\x01\x12\x04\xe6\x05\x02\x06\n\r\n\x05\x05\x05\x02\x04\x02\ + \x12\x04\xe6\x05\t\n\n\x0c\n\x02\x05\x06\x12\x06\xe9\x05\0\xed\x05\x01\n\ + \x0b\n\x03\x05\x06\x01\x12\x04\xe9\x05\x05\x12\n\x0c\n\x04\x05\x06\x02\0\ + \x12\x04\xea\x05\x02\x1f\n\r\n\x05\x05\x06\x02\0\x01\x12\x04\xea\x05\x02\ + \x1a\n\r\n\x05\x05\x06\x02\0\x02\x12\x04\xea\x05\x1d\x1e\n\x0c\n\x04\x05\ + \x06\x02\x01\x12\x04\xeb\x05\x02\x12\n\r\n\x05\x05\x06\x02\x01\x01\x12\ + \x04\xeb\x05\x02\r\n\r\n\x05\x05\x06\x02\x01\x02\x12\x04\xeb\x05\x10\x11\ + \n\x0c\n\x04\x05\x06\x02\x02\x12\x04\xec\x05\x02\x11\n\r\n\x05\x05\x06\ + \x02\x02\x01\x12\x04\xec\x05\x02\x0c\n\r\n\x05\x05\x06\x02\x02\x02\x12\ + \x04\xec\x05\x0f\x10\n\xd0\x03\n\x02\x05\x07\x12\x06\xf5\x05\0\xeb\x06\ + \x01\x1a\xc1\x03\x20Language\x20standardises\x20names\x20of\x20common\ + \x20programming\x20languages\x20that\x20can\x20be\x20used\n\x20for\x20th\ + e\x20`Document.language`\x20field.\x20The\x20primary\x20purpose\x20of\ + \x20this\x20enum\x20is\x20to\n\x20prevent\x20a\x20situation\x20where\x20\ + we\x20have\x20a\x20single\x20programming\x20language\x20ends\x20up\x20wi\ + th\n\x20multiple\x20string\x20representations.\x20For\x20example,\x20the\ + \x20C++\x20language\x20uses\x20the\x20name\n\x20\"CPP\"\x20in\x20this\ + \x20enum\x20and\x20other\x20names\x20such\x20as\x20\"cpp\"\x20are\x20inc\ + ompatible.\n\x20Feel\x20free\x20to\x20send\x20a\x20pull-request\x20to\ + \x20add\x20missing\x20programming\x20languages.\n\n\x0b\n\x03\x05\x07\ + \x01\x12\x04\xf5\x05\x05\r\n\x0c\n\x04\x05\x07\x02\0\x12\x04\xf6\x05\x02\ + \x1a\n\r\n\x05\x05\x07\x02\0\x01\x12\x04\xf6\x05\x02\x15\n\r\n\x05\x05\ + \x07\x02\0\x02\x12\x04\xf6\x05\x18\x19\n\x0c\n\x04\x05\x07\x02\x01\x12\ + \x04\xf7\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\xf7\x05\x02\ + \x06\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xf7\x05\t\x0b\n\x0c\n\x04\x05\ + \x07\x02\x02\x12\x04\xf8\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x02\x01\x12\ + \x04\xf8\x05\x02\x06\n\r\n\x05\x05\x07\x02\x02\x02\x12\x04\xf8\x05\t\x0b\ + \n\x0c\n\x04\x05\x07\x02\x03\x12\x04\xf9\x05\x02\x0b\n\r\n\x05\x05\x07\ + \x02\x03\x01\x12\x04\xf9\x05\x02\x05\n\r\n\x05\x05\x07\x02\x03\x02\x12\ + \x04\xf9\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x04\x12\x04\xfa\x05\x02\x0b\n\ + \r\n\x05\x05\x07\x02\x04\x01\x12\x04\xfa\x05\x02\x05\n\r\n\x05\x05\x07\ + \x02\x04\x02\x12\x04\xfa\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x05\x12\x04\ + \xfb\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x05\x01\x12\x04\xfb\x05\x02\x06\n\ + \r\n\x05\x05\x07\x02\x05\x02\x12\x04\xfb\x05\t\x0b\n\x0c\n\x04\x05\x07\ + \x02\x06\x12\x04\xfc\x05\x02\x10\n\r\n\x05\x05\x07\x02\x06\x01\x12\x04\ + \xfc\x05\x02\n\n\r\n\x05\x05\x07\x02\x06\x02\x12\x04\xfc\x05\r\x0f\n\x0c\ + \n\x04\x05\x07\x02\x07\x12\x04\xfd\x05\x02\x10\n\r\n\x05\x05\x07\x02\x07\ + \x01\x12\x04\xfd\x05\x02\n\n\r\n\x05\x05\x07\x02\x07\x02\x12\x04\xfd\x05\ + \r\x0f\n\x0c\n\x04\x05\x07\x02\x08\x12\x04\xfe\x05\x02\x0b\n\r\n\x05\x05\ + \x07\x02\x08\x01\x12\x04\xfe\x05\x02\x05\n\r\n\x05\x05\x07\x02\x08\x02\ + \x12\x04\xfe\x05\x08\n\n\x0c\n\x04\x05\x07\x02\t\x12\x04\xff\x05\x02\x0b\ + \n\r\n\x05\x05\x07\x02\t\x01\x12\x04\xff\x05\x02\x05\n\r\n\x05\x05\x07\ + \x02\t\x02\x12\x04\xff\x05\x08\n\n\x0c\n\x04\x05\x07\x02\n\x12\x04\x80\ + \x06\x02\x0e\n\r\n\x05\x05\x07\x02\n\x01\x12\x04\x80\x06\x02\x08\n\r\n\ + \x05\x05\x07\x02\n\x02\x12\x04\x80\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x0b\ + \x12\x04\x81\x06\x02\t\n\r\n\x05\x05\x07\x02\x0b\x01\x12\x04\x81\x06\x02\ + \x03\n\r\n\x05\x05\x07\x02\x0b\x02\x12\x04\x81\x06\x06\x08\n\x0c\n\x04\ + \x05\x07\x02\x0c\x12\x04\x82\x06\x02\r\n\r\n\x05\x05\x07\x02\x0c\x01\x12\ + \x04\x82\x06\x02\x07\n\r\n\x05\x05\x07\x02\x0c\x02\x12\x04\x82\x06\n\x0c\ + \nH\n\x04\x05\x07\x02\r\x12\x04\x83\x06\x02\x0b\":\x20C++\x20(the\x20nam\ + e\x20\"CPP\"\x20was\x20chosen\x20for\x20consistency\x20with\x20LSP)\n\n\ + \r\n\x05\x05\x07\x02\r\x01\x12\x04\x83\x06\x02\x05\n\r\n\x05\x05\x07\x02\ + \r\x02\x12\x04\x83\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0e\x12\x04\x84\x06\ + \x02\x0b\n\r\n\x05\x05\x07\x02\x0e\x01\x12\x04\x84\x06\x02\x05\n\r\n\x05\ + \x05\x07\x02\x0e\x02\x12\x04\x84\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0f\ + \x12\x04\x85\x06\x02\r\n\r\n\x05\x05\x07\x02\x0f\x01\x12\x04\x85\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02\x0f\x02\x12\x04\x85\x06\x0b\x0c\n\x0c\n\x04\ + \x05\x07\x02\x10\x12\x04\x86\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x10\x01\ + \x12\x04\x86\x06\x02\t\n\r\n\x05\x05\x07\x02\x10\x02\x12\x04\x86\x06\x0c\ + \r\n\x0c\n\x04\x05\x07\x02\x11\x12\x04\x87\x06\x02\x14\n\r\n\x05\x05\x07\ + \x02\x11\x01\x12\x04\x87\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\x12\ + \x04\x87\x06\x11\x13\n\x0c\n\x04\x05\x07\x02\x12\x12\x04\x88\x06\x02\x11\ + \n\r\n\x05\x05\x07\x02\x12\x01\x12\x04\x88\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02\x12\x02\x12\x04\x88\x06\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\x04\ + \x89\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x13\x01\x12\x04\x89\x06\x02\x05\n\ + \r\n\x05\x05\x07\x02\x13\x02\x12\x04\x89\x06\x08\n\n\x0c\n\x04\x05\x07\ + \x02\x14\x12\x04\x8a\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\x04\ + \x8a\x06\x02\x06\n\r\n\x05\x05\x07\x02\x14\x02\x12\x04\x8a\x06\t\x0b\n\ + \x0c\n\x04\x05\x07\x02\x15\x12\x04\x8b\x06\x02\x0b\n\r\n\x05\x05\x07\x02\ + \x15\x01\x12\x04\x8b\x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\x04\ + \x8b\x06\t\n\n\x0c\n\x04\x05\x07\x02\x16\x12\x04\x8c\x06\x02\x0e\n\r\n\ + \x05\x05\x07\x02\x16\x01\x12\x04\x8c\x06\x02\x08\n\r\n\x05\x05\x07\x02\ + \x16\x02\x12\x04\x8c\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\x8d\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x17\x01\x12\x04\x8d\x06\x02\x06\n\r\n\ + \x05\x05\x07\x02\x17\x02\x12\x04\x8d\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\ + \x18\x12\x04\x8e\x06\x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\x8e\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x18\x02\x12\x04\x8e\x06\x0f\x11\n\x0c\ + \n\x04\x05\x07\x02\x19\x12\x04\x8f\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\ + \x01\x12\x04\x8f\x06\x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\x8f\ + \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1a\x12\x04\x90\x06\x02\x0e\n\r\n\x05\ + \x05\x07\x02\x1a\x01\x12\x04\x90\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\ + \x02\x12\x04\x90\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\x91\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02\x1b\x01\x12\x04\x91\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02\x1b\x02\x12\x04\x91\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\ + \x12\x04\x92\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\x92\x06\ + \x02\x08\n\r\n\x05\x05\x07\x02\x1c\x02\x12\x04\x92\x06\x0b\r\n\x0c\n\x04\ + \x05\x07\x02\x1d\x12\x04\x93\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\ + \x12\x04\x93\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\x93\x06\t\ + \x0b\n\x0c\n\x04\x05\x07\x02\x1e\x12\x04\x94\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02\x1e\x01\x12\x04\x94\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\ + \x12\x04\x94\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\x95\x06\x02\ + \x0f\n\r\n\x05\x05\x07\x02\x1f\x01\x12\x04\x95\x06\x02\t\n\r\n\x05\x05\ + \x07\x02\x1f\x02\x12\x04\x95\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\ + \x04\x96\x06\x02\x12\n\r\n\x05\x05\x07\x02\x20\x01\x12\x04\x96\x06\x02\ + \x0c\n\r\n\x05\x05\x07\x02\x20\x02\x12\x04\x96\x06\x0f\x11\n\x0c\n\x04\ + \x05\x07\x02!\x12\x04\x97\x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\ + \x97\x06\x02\x0c\n\r\n\x05\x05\x07\x02!\x02\x12\x04\x97\x06\x0f\x11\n\ + \x0c\n\x04\x05\x07\x02\"\x12\x04\x98\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\ + \x01\x12\x04\x98\x06\x02\x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\x98\x06\ + \x0f\x11\n\x0c\n\x04\x05\x07\x02#\x12\x04\x99\x06\x02\n\n\r\n\x05\x05\ + \x07\x02#\x01\x12\x04\x99\x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\ + \x99\x06\x07\t\n\x0c\n\x04\x05\x07\x02$\x12\x04\x9a\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02$\x01\x12\x04\x9a\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\ + \x12\x04\x9a\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02%\x12\x04\x9b\x06\x02\r\ + \n\r\n\x05\x05\x07\x02%\x01\x12\x04\x9b\x06\x02\x08\n\r\n\x05\x05\x07\ + \x02%\x02\x12\x04\x9b\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\x9c\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02&\x01\x12\x04\x9c\x06\x02\x06\n\r\n\ + \x05\x05\x07\x02&\x02\x12\x04\x9c\x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\ + \x04\x9d\x06\x02\x0c\n\r\n\x05\x05\x07\x02'\x01\x12\x04\x9d\x06\x02\x06\ + \n\r\n\x05\x05\x07\x02'\x02\x12\x04\x9d\x06\t\x0b\n\x0c\n\x04\x05\x07\ + \x02(\x12\x04\x9e\x06\x02\x12\n\r\n\x05\x05\x07\x02(\x01\x12\x04\x9e\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02(\x02\x12\x04\x9e\x06\x0f\x11\n\x0c\n\x04\ + \x05\x07\x02)\x12\x04\x9f\x06\x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\ + \x9f\x06\x02\t\n\r\n\x05\x05\x07\x02)\x02\x12\x04\x9f\x06\x0c\x0e\n\x0c\ + \n\x04\x05\x07\x02*\x12\x04\xa0\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\ + \x04\xa0\x06\x02\x07\n\r\n\x05\x05\x07\x02*\x02\x12\x04\xa0\x06\n\x0c\n\ + \x0c\n\x04\x05\x07\x02+\x12\x04\xa1\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\ + \x01\x12\x04\xa1\x06\x02\x05\n\r\n\x05\x05\x07\x02+\x02\x12\x04\xa1\x06\ + \x08\n\n\x0c\n\x04\x05\x07\x02,\x12\x04\xa2\x06\x02\t\n\r\n\x05\x05\x07\ + \x02,\x01\x12\x04\xa2\x06\x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\xa2\ + \x06\x06\x08\n\x0c\n\x04\x05\x07\x02-\x12\x04\xa3\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x02-\x01\x12\x04\xa3\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\ + \x04\xa3\x06\t\x0b\n\x0c\n\x04\x05\x07\x02.\x12\x04\xa4\x06\x02\x0b\n\r\ + \n\x05\x05\x07\x02.\x01\x12\x04\xa4\x06\x02\x06\n\r\n\x05\x05\x07\x02.\ + \x02\x12\x04\xa4\x06\t\n\n\x0c\n\x04\x05\x07\x02/\x12\x04\xa5\x06\x02\ + \x12\n\r\n\x05\x05\x07\x02/\x01\x12\x04\xa5\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02/\x02\x12\x04\xa5\x06\x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\ + \xa6\x06\x02\x17\n\r\n\x05\x05\x07\x020\x01\x12\x04\xa6\x06\x02\x11\n\r\ + \n\x05\x05\x07\x020\x02\x12\x04\xa6\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\ + \x12\x04\xa7\x06\x02\x0f\n\r\n\x05\x05\x07\x021\x01\x12\x04\xa7\x06\x02\ + \t\n\r\n\x05\x05\x07\x021\x02\x12\x04\xa7\x06\x0c\x0e\n\x0c\n\x04\x05\ + \x07\x022\x12\x04\xa8\x06\x02\x0e\n\r\n\x05\x05\x07\x022\x01\x12\x04\xa8\ + \x06\x02\x07\n\r\n\x05\x05\x07\x022\x02\x12\x04\xa8\x06\x0b\r\n\x0c\n\ + \x04\x05\x07\x023\x12\x04\xa9\x06\x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\ + \x04\xa9\x06\x02\n\n\r\n\x05\x05\x07\x023\x02\x12\x04\xa9\x06\r\x10\n\ + \x0c\n\x04\x05\x07\x024\x12\x04\xaa\x06\x02\r\n\r\n\x05\x05\x07\x024\x01\ + \x12\x04\xaa\x06\x02\x08\n\r\n\x05\x05\x07\x024\x02\x12\x04\xaa\x06\x0b\ + \x0c\n\x0c\n\x04\x05\x07\x025\x12\x04\xab\x06\x02\r\n\r\n\x05\x05\x07\ + \x025\x01\x12\x04\xab\x06\x02\x07\n\r\n\x05\x05\x07\x025\x02\x12\x04\xab\ + \x06\n\x0c\n\x0c\n\x04\x05\x07\x026\x12\x04\xac\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x026\x01\x12\x04\xac\x06\x02\x06\n\r\n\x05\x05\x07\x026\x02\x12\ + \x04\xac\x06\t\x0b\n\x0c\n\x04\x05\x07\x027\x12\x04\xad\x06\x02\x0c\n\r\ + \n\x05\x05\x07\x027\x01\x12\x04\xad\x06\x02\x06\n\r\n\x05\x05\x07\x027\ + \x02\x12\x04\xad\x06\t\x0b\n\x0c\n\x04\x05\x07\x028\x12\x04\xae\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x028\x01\x12\x04\xae\x06\x02\x05\n\r\n\x05\x05\ + \x07\x028\x02\x12\x04\xae\x06\x08\n\n\x0c\n\x04\x05\x07\x029\x12\x04\xaf\ + \x06\x02\r\n\r\n\x05\x05\x07\x029\x01\x12\x04\xaf\x06\x02\x06\n\r\n\x05\ + \x05\x07\x029\x02\x12\x04\xaf\x06\t\x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\ + \xb0\x06\x02\x10\n\r\n\x05\x05\x07\x02:\x01\x12\x04\xb0\x06\x02\n\n\r\n\ + \x05\x05\x07\x02:\x02\x12\x04\xb0\x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\ + \x04\xb1\x06\x02\x10\n\r\n\x05\x05\x07\x02;\x01\x12\x04\xb1\x06\x02\n\n\ + \r\n\x05\x05\x07\x02;\x02\x12\x04\xb1\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\ + \x12\x04\xb2\x06\x02\x0e\n\r\n\x05\x05\x07\x02<\x01\x12\x04\xb2\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02<\x02\x12\x04\xb2\x06\x0b\r\n(\n\x04\x05\x07\ + \x02=\x12\x04\xb3\x06\x02\x0f\"\x1a\x20https://nickel-lang.org/\n\n\r\n\ + \x05\x05\x07\x02=\x01\x12\x04\xb3\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\ + \x12\x04\xb3\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02>\x12\x04\xb4\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x02>\x01\x12\x04\xb4\x06\x02\x05\n\r\n\x05\x05\ + \x07\x02>\x02\x12\x04\xb4\x06\x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xb5\ + \x06\x02\r\n\r\n\x05\x05\x07\x02?\x01\x12\x04\xb5\x06\x02\x07\n\r\n\x05\ + \x05\x07\x02?\x02\x12\x04\xb5\x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\ + \xb6\x06\x02\x13\n\r\n\x05\x05\x07\x02@\x01\x12\x04\xb6\x06\x02\r\n\r\n\ + \x05\x05\x07\x02@\x02\x12\x04\xb6\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\ + \x12\x04\xb7\x06\x02\x15\n\r\n\x05\x05\x07\x02A\x01\x12\x04\xb7\x06\x02\ + \x0f\n\r\n\x05\x05\x07\x02A\x02\x12\x04\xb7\x06\x12\x14\n\x0c\n\x04\x05\ + \x07\x02B\x12\x04\xb8\x06\x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xb8\ + \x06\x02\x08\n\r\n\x05\x05\x07\x02B\x02\x12\x04\xb8\x06\x0b\r\n\x0c\n\ + \x04\x05\x07\x02C\x12\x04\xb9\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\ + \x04\xb9\x06\x02\x05\n\r\n\x05\x05\x07\x02C\x02\x12\x04\xb9\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x02D\x12\x04\xba\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\ + \x12\x04\xba\x06\x02\x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xba\x06\n\ + \x0c\n\x0c\n\x04\x05\x07\x02E\x12\x04\xbb\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02E\x01\x12\x04\xbb\x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xbb\ + \x06\t\x0b\n\x0c\n\x04\x05\x07\x02F\x12\x04\xbc\x06\x02\x12\n\r\n\x05\ + \x05\x07\x02F\x01\x12\x04\xbc\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\ + \x04\xbc\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02G\x12\x04\xbd\x06\x02\x0e\n\ + \r\n\x05\x05\x07\x02G\x01\x12\x04\xbd\x06\x02\x08\n\r\n\x05\x05\x07\x02G\ + \x02\x12\x04\xbd\x06\x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xbe\x06\x02\ + \x11\n\r\n\x05\x05\x07\x02H\x01\x12\x04\xbe\x06\x02\n\n\r\n\x05\x05\x07\ + \x02H\x02\x12\x04\xbe\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xbf\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02I\x01\x12\x04\xbf\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02I\x02\x12\x04\xbf\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\ + \xc0\x06\x02\t\n\r\n\x05\x05\x07\x02J\x01\x12\x04\xc0\x06\x02\x03\n\r\n\ + \x05\x05\x07\x02J\x02\x12\x04\xc0\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\ + \x12\x04\xc1\x06\x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xc1\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02K\x02\x12\x04\xc1\x06\x0b\r\n\x0c\n\x04\x05\ + \x07\x02L\x12\x04\xc2\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xc2\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02L\x02\x12\x04\xc2\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02M\x12\x04\xc3\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\ + \x04\xc3\x06\x02\x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xc3\x06\n\x0c\n2\ + \n\x04\x05\x07\x02N\x12\x04\xc4\x06\x02\x0e\"$\x20Internal\x20language\ + \x20for\x20testing\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xc4\x06\ + \x02\x07\n\r\n\x05\x05\x07\x02N\x02\x12\x04\xc4\x06\n\r\n\x0c\n\x04\x05\ + \x07\x02O\x12\x04\xc5\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xc5\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02O\x02\x12\x04\xc5\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02P\x12\x04\xc6\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\ + \x04\xc6\x06\x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xc6\x06\t\x0b\n\ + \x0c\n\x04\x05\x07\x02Q\x12\x04\xc7\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\ + \x01\x12\x04\xc7\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xc7\x06\ + \t\x0b\n\x0c\n\x04\x05\x07\x02R\x12\x04\xc8\x06\x02\x0b\n\r\n\x05\x05\ + \x07\x02R\x01\x12\x04\xc8\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\ + \xc8\x06\x08\n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xc9\x06\x02\x0c\n\r\n\ + \x05\x05\x07\x02S\x01\x12\x04\xc9\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\ + \x12\x04\xc9\x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xca\x06\x02\x0b\ + \n\r\n\x05\x05\x07\x02T\x01\x12\x04\xca\x06\x02\x05\n\r\n\x05\x05\x07\ + \x02T\x02\x12\x04\xca\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xcb\x06\ + \x02\x0b\n\r\n\x05\x05\x07\x02U\x01\x12\x04\xcb\x06\x02\x05\n\r\n\x05\ + \x05\x07\x02U\x02\x12\x04\xcb\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\ + \xcc\x06\x02\x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xcc\x06\x02\x06\n\r\ + \n\x05\x05\x07\x02V\x02\x12\x04\xcc\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\ + \x12\x04\xcd\x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xcd\x06\x02\ + \x07\n\r\n\x05\x05\x07\x02W\x02\x12\x04\xcd\x06\n\x0b\n\x0c\n\x04\x05\ + \x07\x02X\x12\x04\xce\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xce\ + \x06\x02\x08\n\r\n\x05\x05\x07\x02X\x02\x12\x04\xce\x06\x0b\r\n\x14\n\ + \x04\x05\x07\x02Y\x12\x04\xcf\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\ + \x07\x02Y\x01\x12\x04\xcf\x06\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\ + \xcf\x06\x10\x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xd0\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02Z\x01\x12\x04\xd0\x06\x02\t\n\r\n\x05\x05\x07\x02Z\x02\ + \x12\x04\xd0\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\xd1\x06\x02\ + \x0e\n\r\n\x05\x05\x07\x02[\x01\x12\x04\xd1\x06\x02\x07\n\r\n\x05\x05\ + \x07\x02[\x02\x12\x04\xd1\x06\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xd2\ + \x06\x02\x10\n\r\n\x05\x05\x07\x02\\\x01\x12\x04\xd2\x06\x02\n\n\r\n\x05\ + \x05\x07\x02\\\x02\x12\x04\xd2\x06\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\ + \x04\xd3\x06\x02\x0f\n\r\n\x05\x05\x07\x02]\x01\x12\x04\xd3\x06\x02\x08\ + \n\r\n\x05\x05\x07\x02]\x02\x12\x04\xd3\x06\x0b\x0e\n\x0c\n\x04\x05\x07\ + \x02^\x12\x04\xd4\x06\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xd4\x06\ + \x02\x07\n\r\n\x05\x05\x07\x02^\x02\x12\x04\xd4\x06\n\x0b\n\x0c\n\x04\ + \x05\x07\x02_\x12\x04\xd5\x06\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\ + \xd5\x06\x02\x05\n\r\n\x05\x05\x07\x02_\x02\x12\x04\xd5\x06\x08\x0b\n\ + \x0c\n\x04\x05\x07\x02`\x12\x04\xd6\x06\x02\x0c\n\r\n\x05\x05\x07\x02`\ + \x01\x12\x04\xd6\x06\x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\xd6\x06\ + \t\x0b\n\x0c\n\x04\x05\x07\x02a\x12\x04\xd7\x06\x02\x0b\n\r\n\x05\x05\ + \x07\x02a\x01\x12\x04\xd7\x06\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\ + \xd7\x06\x08\n\n\x0c\n\x04\x05\x07\x02b\x12\x04\xd8\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02b\x01\x12\x04\xd8\x06\x02\x08\n\r\n\x05\x05\x07\x02b\x02\ + \x12\x04\xd8\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\xd9\x06\x02\ + \x12\n\r\n\x05\x05\x07\x02c\x01\x12\x04\xd9\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02c\x02\x12\x04\xd9\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\ + \xda\x06\x02\x17\n\r\n\x05\x05\x07\x02d\x01\x12\x04\xda\x06\x02\x11\n\r\ + \n\x05\x05\x07\x02d\x02\x12\x04\xda\x06\x14\x16\n\x0c\n\x04\x05\x07\x02e\ + \x12\x04\xdb\x06\x02\x10\n\r\n\x05\x05\x07\x02e\x01\x12\x04\xdb\x06\x02\ + \t\n\r\n\x05\x05\x07\x02e\x02\x12\x04\xdb\x06\x0c\x0f\n\x0c\n\x04\x05\ + \x07\x02f\x12\x04\xdc\x06\x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xdc\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02f\x02\x12\x04\xdc\x06\t\x0c\n\x0c\n\ + \x04\x05\x07\x02g\x12\x04\xdd\x06\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\ + \x04\xdd\x06\x02\r\n\r\n\x05\x05\x07\x02g\x02\x12\x04\xdd\x06\x10\x12\n\ + \x0c\n\x04\x05\x07\x02h\x12\x04\xde\x06\x02\x0b\n\r\n\x05\x05\x07\x02h\ + \x01\x12\x04\xde\x06\x02\x05\n\r\n\x05\x05\x07\x02h\x02\x12\x04\xde\x06\ + \x08\n\n\x0c\n\x04\x05\x07\x02i\x12\x04\xdf\x06\x02\x0f\n\r\n\x05\x05\ + \x07\x02i\x01\x12\x04\xdf\x06\x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\ + \xdf\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02j\x12\x04\xe0\x06\x02\x0b\n\r\n\ + \x05\x05\x07\x02j\x01\x12\x04\xe0\x06\x02\x05\n\r\n\x05\x05\x07\x02j\x02\ + \x12\x04\xe0\x06\x08\n\n\x0c\n\x04\x05\x07\x02k\x12\x04\xe1\x06\x02\x0b\ + \n\r\n\x05\x05\x07\x02k\x01\x12\x04\xe1\x06\x02\x05\n\r\n\x05\x05\x07\ + \x02k\x02\x12\x04\xe1\x06\x08\n\n\x0c\n\x04\x05\x07\x02l\x12\x04\xe2\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02l\x01\x12\x04\xe2\x06\x02\x06\n\r\n\x05\ + \x05\x07\x02l\x02\x12\x04\xe2\x06\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\ + \x04\xe3\x06\x02\x0b\"\x84\x03\x20NextLanguage\x20=\x20111;\n\x20Steps\ \x20add\x20a\x20new\x20language:\n\x201.\x20Copy-paste\x20the\x20\"NextL\ anguage\x20=\x20N\"\x20line\x20above\n\x202.\x20Increment\x20\"NextLangu\ age\x20=\x20N\"\x20to\x20\"NextLanguage\x20=\x20N+1\"\n\x203.\x20Replace\ @@ -5642,8 +5646,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20correct\x20line\x20above\x20using\x20alphabetical\x20order\n\x205.\ \x20(optional)\x20Add\x20a\x20brief\x20comment\x20behind\x20the\x20langu\ age\x20if\x20the\x20name\x20is\x20not\x20self-explanatory\n\n\r\n\x05\ - \x05\x07\x02m\x01\x12\x04\xe1\x06\x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\ - \x04\xe1\x06\x08\nb\x06proto3\ + \x05\x07\x02m\x01\x12\x04\xe3\x06\x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\ + \x04\xe3\x06\x08\nb\x06proto3\ "; /// `FileDescriptorProto` object which was a source for this generated file diff --git a/docs/scip.md b/docs/scip.md index a69f231c..317cfddc 100644 --- a/docs/scip.md +++ b/docs/scip.md @@ -138,23 +138,25 @@ across occurrences into a single occurrence to reduce payload sizes. | Name | Type | Description | | ----------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| repeated **range** | int32 | Source position of this occurrence. Must be exactly three or four elements: | +| repeated **range** | int32 | Half-open [start, end) range of this occurrence. Must be exactly three or four elements: | | **symbol** | string | (optional) The symbol that appears at this position. See `SymbolInformation.symbol` for how to format symbols as strings. | | **symbol_roles** | int32 | (optional) Bitset containing `SymbolRole`s in this occurrence. See `SymbolRole`'s documentation for how to read and write this field. | | repeated **override_documentation** | string | (optional) CommonMark-formatted documentation for this specific range. If empty, the `Symbol.documentation` field is used instead. One example where this field might be useful is when the symbol represents a generic function (with abstract type parameters such as `List`) and at this occurrence we know the exact values (such as `List`). | | **syntax_kind** | SyntaxKind | (optional) What syntax highlighting class should be used for this range? | | repeated **diagnostics** | Diagnostic | (optional) Diagnostics that have been reported for this specific range. | -| repeated **enclosing_range** | int32 | (optional) Using the same encoding as the sibling `range` field, source position of the nearest non-trivial enclosing AST node. This range must enclose the `range` field. Example applications that make use of the enclosing_range field: | +| repeated **enclosing_range** | int32 | (optional) Using the same encoding as the sibling `range` field, half-open source range of the nearest non-trivial enclosing AST node. This range must enclose the `range` field. Example applications that make use of the enclosing_range field: | Additional notes on **range**: -Source position of this occurrence. Must be exactly three or four +Half-open [start, end) range of this occurrence. Must be exactly three or four elements: - Four elements: `[startLine, startCharacter, endLine, endCharacter]` - Three elements: `[startLine, startCharacter, endCharacter]`. The end line is inferred to have the same value as the start line. +It is allowed for the range to be empty (i.e. start==end). + Line numbers and characters are always 0-based. Make sure to increment the line/character values before displaying them in an editor-like UI because editors conventionally use 1-based numbers. @@ -183,8 +185,8 @@ which commonly allow for type-changing assignment. Additional notes on **enclosing_range**: -(optional) Using the same encoding as the sibling `range` field, source -position of the nearest non-trivial enclosing AST node. This range must +(optional) Using the same encoding as the sibling `range` field, half-open +source range of the nearest non-trivial enclosing AST node. This range must enclose the `range` field. Example applications that make use of the enclosing_range field: diff --git a/scip.proto b/scip.proto index b2f3c126..1107362f 100644 --- a/scip.proto +++ b/scip.proto @@ -622,13 +622,15 @@ enum SyntaxKind { // If possible, indexers should try to bundle logically related information // across occurrences into a single occurrence to reduce payload sizes. message Occurrence { - // Source position of this occurrence. Must be exactly three or four + // Half-open [start, end) range of this occurrence. Must be exactly three or four // elements: // // - Four elements: `[startLine, startCharacter, endLine, endCharacter]` // - Three elements: `[startLine, startCharacter, endCharacter]`. The end line // is inferred to have the same value as the start line. // + // It is allowed for the range to be empty (i.e. start==end). + // // Line numbers and characters are always 0-based. Make sure to increment the // line/character values before displaying them in an editor-like UI because // editors conventionally use 1-based numbers. @@ -663,8 +665,8 @@ message Occurrence { SyntaxKind syntax_kind = 5; // (optional) Diagnostics that have been reported for this specific range. repeated Diagnostic diagnostics = 6; - // (optional) Using the same encoding as the sibling `range` field, source - // position of the nearest non-trivial enclosing AST node. This range must + // (optional) Using the same encoding as the sibling `range` field, half-open + // source range of the nearest non-trivial enclosing AST node. This range must // enclose the `range` field. Example applications that make use of the // enclosing_range field: //