fork of https://github.com/sourcegraph/zoekt
0

Configure Feed

Select the types of activity you want to include in your feed.

Add alternate ctags parser and language map (#581)

* Add alternate ctags parser and language map

* Fix minor issues

* Lint protobuf

* Fix nil access

* Remove debug statements

* Small fixes

* ctagsAddSymbols -> ctagsAddSymbolsParser

* Split out parser logic

* Fix reviews

+562 -228
+33 -10
build/builder.go
··· 84 84 // if a valid binary couldn't be found. 85 85 CTagsPath string 86 86 87 + // Same as CTagsPath but for scip-ctags 88 + ScipCTagsPath string 89 + 87 90 // If set, ctags must succeed. 88 91 CTagsMustSucceed bool 89 92 ··· 113 116 // since the last indexing job for this repository. These files will be tombstoned 114 117 // in the older shards for this repository. 115 118 changedOrRemovedFiles []string 119 + 120 + LanguageMap ctags.LanguageMap 116 121 } 117 122 118 123 // HashOptions contains only the options in Options that upon modification leads to IndexState of IndexStateMismatch during the next index building. ··· 244 249 todo []*zoekt.Document 245 250 size int 246 251 247 - parser ctags.Parser 252 + parserMap ctags.ParserMap 248 253 249 254 building sync.WaitGroup 250 255 ··· 282 287 return "" 283 288 } 284 289 290 + func checkScipCTags() string { 291 + if ctags := os.Getenv("SCIP_CTAGS_COMMAND"); ctags != "" { 292 + return ctags 293 + } 294 + 295 + if ctags, err := exec.LookPath("scip-ctags"); err == nil { 296 + return ctags 297 + } 298 + 299 + return "" 300 + } 301 + 285 302 // SetDefaults sets reasonable default options. 286 303 func (o *Options) SetDefaults() { 287 304 if o.CTagsPath == "" && !o.DisableCTags { 288 305 o.CTagsPath = checkCTags() 289 306 } 290 307 308 + if o.ScipCTagsPath == "" && !o.DisableCTags { 309 + o.ScipCTagsPath = checkScipCTags() 310 + } 311 + 291 312 if o.Parallelism == 0 { 292 313 o.Parallelism = 4 293 314 } ··· 547 568 return nil, fmt.Errorf("ctags binary not found, but CTagsMustSucceed set") 548 569 } 549 570 550 - if opts.CTagsPath != "" { 551 - parser, err := ctags.NewParser(opts.CTagsPath) 552 - if err != nil && opts.CTagsMustSucceed { 553 - return nil, fmt.Errorf("ctags.NewParser: %v", err) 554 - } 571 + parserMap, err := ctags.NewParserMap(ctags.ParserBinMap{ 572 + ctags.UniversalCTags: b.opts.CTagsPath, 573 + ctags.ScipCTags: b.opts.ScipCTagsPath, 574 + }, b.opts.CTagsMustSucceed) 555 575 556 - b.parser = parser 576 + if err != nil { 577 + return nil, err 557 578 } 579 + 580 + b.parserMap = parserMap 558 581 559 582 b.shardLogger = &lumberjack.Logger{ 560 583 Filename: filepath.Join(opts.IndexDir, "zoekt-builder-shard-log.tsv"), ··· 994 1017 } 995 1018 996 1019 func (b *Builder) buildShard(todo []*zoekt.Document, nextShardNum int) (*finishedShard, error) { 997 - if !b.opts.DisableCTags && b.opts.CTagsPath != "" { 998 - err := ctagsAddSymbolsParser(todo, b.parser) 1020 + if !b.opts.DisableCTags && (b.opts.CTagsPath != "" || b.opts.ScipCTagsPath != "") { 1021 + err := ctagsAddSymbolsParserMap(todo, b.opts.LanguageMap, b.parserMap) 999 1022 if b.opts.CTagsMustSucceed && err != nil { 1000 1023 return nil, err 1001 1024 } 1002 1025 if err != nil { 1003 - log.Printf("ignoring %s error: %v", b.opts.CTagsPath, err) 1026 + log.Printf("ignoring universal:%s or scip:%s error: %v", b.opts.CTagsPath, b.opts.ScipCTagsPath, err) 1004 1027 } 1005 1028 } 1006 1029
+13 -1
build/ctags.go
··· 22 22 "github.com/sourcegraph/zoekt/ctags" 23 23 ) 24 24 25 - func ctagsAddSymbolsParser(todo []*zoekt.Document, parser ctags.Parser) error { 25 + func ctagsAddSymbolsParserMap(todo []*zoekt.Document, languageMap ctags.LanguageMap, parserMap ctags.ParserMap) error { 26 26 for _, doc := range todo { 27 27 if doc.Symbols != nil { 28 28 continue 29 + } 30 + 31 + zoekt.DetermineLanguageIfUnknown(doc) 32 + 33 + parserKind := languageMap[doc.Language] 34 + if parserKind == ctags.NoCTags { 35 + continue 36 + } 37 + 38 + parser := parserMap[parserKind] 39 + if parser == nil { 40 + parser = parserMap[ctags.UniversalCTags] 29 41 } 30 42 31 43 es, err := parser.Parse(doc.Name, doc.Content)
+11
cmd/zoekt-git-index/main.go
··· 25 25 "go.uber.org/automaxprocs/maxprocs" 26 26 27 27 "github.com/sourcegraph/zoekt/cmd" 28 + "github.com/sourcegraph/zoekt/ctags" 28 29 "github.com/sourcegraph/zoekt/gitindex" 29 30 ) 30 31 ··· 44 45 deltaShardNumberFallbackThreshold := flag.Uint64("delta_threshold", 0, "upper limit on the number of preexisting shards that can exist before attempting a delta build (0 to disable fallback behavior)") 45 46 offlineRanking := flag.String("offline_ranking", "", "the name of the file that contains the ranking info.") 46 47 offlineRankingVersion := flag.String("offline_ranking_version", "", "a version string identifying the contents in offline_ranking.") 48 + languageMap := flag.String("language_map", "", "a mapping between a language and its ctags processor (a:0,b:3).") 47 49 flag.Parse() 48 50 49 51 // Tune GOMAXPROCS to match Linux container CPU quota. ··· 94 96 name = strings.TrimSuffix(filepath.Base(name), ".git") 95 97 } 96 98 gitRepos[repoDir] = name 99 + } 100 + 101 + opts.LanguageMap = make(ctags.LanguageMap) 102 + for _, mapping := range strings.Split(*languageMap, ",") { 103 + m := strings.Split(mapping, ":") 104 + if len(m) != 2 { 105 + continue 106 + } 107 + opts.LanguageMap[m[0]] = ctags.StringToParser(m[1]) 97 108 } 98 109 99 110 exitStatus := 0
+14
cmd/zoekt-sourcegraph-indexserver/index.go
··· 20 20 21 21 "github.com/sourcegraph/zoekt" 22 22 "github.com/sourcegraph/zoekt/build" 23 + "github.com/sourcegraph/zoekt/ctags" 23 24 24 25 sglog "github.com/sourcegraph/log" 25 26 ) ··· 67 68 68 69 // Archived is true if the repository is archived. 69 70 Archived bool 71 + 72 + // Map from language to scip-ctags, universal-ctags, or neither 73 + LanguageMap ctags.LanguageMap 70 74 } 71 75 72 76 // indexArgs represents the arguments we pass to zoekt-git-index ··· 123 127 IsDelta: o.UseDelta, 124 128 125 129 DocumentRanksVersion: o.DocumentRanksVersion, 130 + 131 + LanguageMap: o.LanguageMap, 126 132 } 127 133 } 128 134 ··· 387 393 if o.UseDelta { 388 394 args = append(args, "-delta") 389 395 args = append(args, "-delta_threshold", strconv.FormatUint(o.DeltaShardNumberFallbackThreshold, 10)) 396 + } 397 + 398 + if len(o.LanguageMap) > 0 { 399 + var languageMap []string 400 + for language, parser := range o.LanguageMap { 401 + languageMap = append(languageMap, language+":"+ctags.ParserToString(parser)) 402 + } 403 + args = append(args, "-language_map", strings.Join(languageMap, ",")) 390 404 } 391 405 392 406 args = append(args, buildOptions.Args()...)
+364 -207
cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1/configuration.pb.go
··· 21 21 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 22 22 ) 23 23 24 + type CTagsParserType int32 25 + 26 + const ( 27 + CTagsParserType_C_TAGS_PARSER_TYPE_UNSPECIFIED CTagsParserType = 0 28 + CTagsParserType_C_TAGS_PARSER_TYPE_NONE CTagsParserType = 1 29 + CTagsParserType_C_TAGS_PARSER_TYPE_UNIVERSAL CTagsParserType = 2 30 + CTagsParserType_C_TAGS_PARSER_TYPE_SCIP CTagsParserType = 3 31 + ) 32 + 33 + // Enum value maps for CTagsParserType. 34 + var ( 35 + CTagsParserType_name = map[int32]string{ 36 + 0: "C_TAGS_PARSER_TYPE_UNSPECIFIED", 37 + 1: "C_TAGS_PARSER_TYPE_NONE", 38 + 2: "C_TAGS_PARSER_TYPE_UNIVERSAL", 39 + 3: "C_TAGS_PARSER_TYPE_SCIP", 40 + } 41 + CTagsParserType_value = map[string]int32{ 42 + "C_TAGS_PARSER_TYPE_UNSPECIFIED": 0, 43 + "C_TAGS_PARSER_TYPE_NONE": 1, 44 + "C_TAGS_PARSER_TYPE_UNIVERSAL": 2, 45 + "C_TAGS_PARSER_TYPE_SCIP": 3, 46 + } 47 + ) 48 + 49 + func (x CTagsParserType) Enum() *CTagsParserType { 50 + p := new(CTagsParserType) 51 + *p = x 52 + return p 53 + } 54 + 55 + func (x CTagsParserType) String() string { 56 + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 57 + } 58 + 59 + func (CTagsParserType) Descriptor() protoreflect.EnumDescriptor { 60 + return file_configuration_proto_enumTypes[0].Descriptor() 61 + } 62 + 63 + func (CTagsParserType) Type() protoreflect.EnumType { 64 + return &file_configuration_proto_enumTypes[0] 65 + } 66 + 67 + func (x CTagsParserType) Number() protoreflect.EnumNumber { 68 + return protoreflect.EnumNumber(x) 69 + } 70 + 71 + // Deprecated: Use CTagsParserType.Descriptor instead. 72 + func (CTagsParserType) EnumDescriptor() ([]byte, []int) { 73 + return file_configuration_proto_rawDescGZIP(), []int{0} 74 + } 75 + 24 76 // SearchConfigurationRequest is the request to the SearchConfiguration RPC. 25 77 type SearchConfigurationRequest struct { 26 78 state protoimpl.MessageState ··· 203 255 return 0 204 256 } 205 257 258 + type LanguageMapping struct { 259 + state protoimpl.MessageState 260 + sizeCache protoimpl.SizeCache 261 + unknownFields protoimpl.UnknownFields 262 + 263 + Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` 264 + Ctags CTagsParserType `protobuf:"varint,2,opt,name=ctags,proto3,enum=sourcegraph.zoekt.configuration.v1.CTagsParserType" json:"ctags,omitempty"` 265 + } 266 + 267 + func (x *LanguageMapping) Reset() { 268 + *x = LanguageMapping{} 269 + if protoimpl.UnsafeEnabled { 270 + mi := &file_configuration_proto_msgTypes[3] 271 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 272 + ms.StoreMessageInfo(mi) 273 + } 274 + } 275 + 276 + func (x *LanguageMapping) String() string { 277 + return protoimpl.X.MessageStringOf(x) 278 + } 279 + 280 + func (*LanguageMapping) ProtoMessage() {} 281 + 282 + func (x *LanguageMapping) ProtoReflect() protoreflect.Message { 283 + mi := &file_configuration_proto_msgTypes[3] 284 + if protoimpl.UnsafeEnabled && x != nil { 285 + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 286 + if ms.LoadMessageInfo() == nil { 287 + ms.StoreMessageInfo(mi) 288 + } 289 + return ms 290 + } 291 + return mi.MessageOf(x) 292 + } 293 + 294 + // Deprecated: Use LanguageMapping.ProtoReflect.Descriptor instead. 295 + func (*LanguageMapping) Descriptor() ([]byte, []int) { 296 + return file_configuration_proto_rawDescGZIP(), []int{3} 297 + } 298 + 299 + func (x *LanguageMapping) GetLanguage() string { 300 + if x != nil { 301 + return x.Language 302 + } 303 + return "" 304 + } 305 + 306 + func (x *LanguageMapping) GetCtags() CTagsParserType { 307 + if x != nil { 308 + return x.Ctags 309 + } 310 + return CTagsParserType_C_TAGS_PARSER_TYPE_UNSPECIFIED 311 + } 312 + 206 313 // ZoektIndexOptions are options which change what we index for a 207 314 // repository. Everytime a repository is indexed by zoekt this structure is 208 315 // fetched. ··· 240 347 DocumentRanksVersion string `protobuf:"bytes,10,opt,name=document_ranks_version,json=documentRanksVersion,proto3" json:"document_ranks_version,omitempty"` 241 348 // error, if non-empty, indicates that the request failed for the repo. 242 349 Error string `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"` 350 + // map of languages 351 + LanguageMap []*LanguageMapping `protobuf:"bytes,12,rep,name=language_map,json=languageMap,proto3" json:"language_map,omitempty"` 243 352 } 244 353 245 354 func (x *ZoektIndexOptions) Reset() { 246 355 *x = ZoektIndexOptions{} 247 356 if protoimpl.UnsafeEnabled { 248 - mi := &file_configuration_proto_msgTypes[3] 357 + mi := &file_configuration_proto_msgTypes[4] 249 358 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 250 359 ms.StoreMessageInfo(mi) 251 360 } ··· 258 367 func (*ZoektIndexOptions) ProtoMessage() {} 259 368 260 369 func (x *ZoektIndexOptions) ProtoReflect() protoreflect.Message { 261 - mi := &file_configuration_proto_msgTypes[3] 370 + mi := &file_configuration_proto_msgTypes[4] 262 371 if protoimpl.UnsafeEnabled && x != nil { 263 372 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 264 373 if ms.LoadMessageInfo() == nil { ··· 271 380 272 381 // Deprecated: Use ZoektIndexOptions.ProtoReflect.Descriptor instead. 273 382 func (*ZoektIndexOptions) Descriptor() ([]byte, []int) { 274 - return file_configuration_proto_rawDescGZIP(), []int{3} 383 + return file_configuration_proto_rawDescGZIP(), []int{4} 275 384 } 276 385 277 386 func (x *ZoektIndexOptions) GetName() string { ··· 351 460 return "" 352 461 } 353 462 463 + func (x *ZoektIndexOptions) GetLanguageMap() []*LanguageMapping { 464 + if x != nil { 465 + return x.LanguageMap 466 + } 467 + return nil 468 + } 469 + 354 470 // ZoektRepositoryBranch describes an indexed branch of a repository. 355 471 type ZoektRepositoryBranch struct { 356 472 state protoimpl.MessageState ··· 366 482 func (x *ZoektRepositoryBranch) Reset() { 367 483 *x = ZoektRepositoryBranch{} 368 484 if protoimpl.UnsafeEnabled { 369 - mi := &file_configuration_proto_msgTypes[4] 485 + mi := &file_configuration_proto_msgTypes[5] 370 486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 371 487 ms.StoreMessageInfo(mi) 372 488 } ··· 379 495 func (*ZoektRepositoryBranch) ProtoMessage() {} 380 496 381 497 func (x *ZoektRepositoryBranch) ProtoReflect() protoreflect.Message { 382 - mi := &file_configuration_proto_msgTypes[4] 498 + mi := &file_configuration_proto_msgTypes[5] 383 499 if protoimpl.UnsafeEnabled && x != nil { 384 500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 385 501 if ms.LoadMessageInfo() == nil { ··· 392 508 393 509 // Deprecated: Use ZoektRepositoryBranch.ProtoReflect.Descriptor instead. 394 510 func (*ZoektRepositoryBranch) Descriptor() ([]byte, []int) { 395 - return file_configuration_proto_rawDescGZIP(), []int{4} 511 + return file_configuration_proto_rawDescGZIP(), []int{5} 396 512 } 397 513 398 514 func (x *ZoektRepositoryBranch) GetName() string { ··· 424 540 func (x *ListRequest) Reset() { 425 541 *x = ListRequest{} 426 542 if protoimpl.UnsafeEnabled { 427 - mi := &file_configuration_proto_msgTypes[5] 543 + mi := &file_configuration_proto_msgTypes[6] 428 544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 429 545 ms.StoreMessageInfo(mi) 430 546 } ··· 437 553 func (*ListRequest) ProtoMessage() {} 438 554 439 555 func (x *ListRequest) ProtoReflect() protoreflect.Message { 440 - mi := &file_configuration_proto_msgTypes[5] 556 + mi := &file_configuration_proto_msgTypes[6] 441 557 if protoimpl.UnsafeEnabled && x != nil { 442 558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 443 559 if ms.LoadMessageInfo() == nil { ··· 450 566 451 567 // Deprecated: Use ListRequest.ProtoReflect.Descriptor instead. 452 568 func (*ListRequest) Descriptor() ([]byte, []int) { 453 - return file_configuration_proto_rawDescGZIP(), []int{5} 569 + return file_configuration_proto_rawDescGZIP(), []int{6} 454 570 } 455 571 456 572 func (x *ListRequest) GetHostname() string { ··· 480 596 func (x *ListResponse) Reset() { 481 597 *x = ListResponse{} 482 598 if protoimpl.UnsafeEnabled { 483 - mi := &file_configuration_proto_msgTypes[6] 599 + mi := &file_configuration_proto_msgTypes[7] 484 600 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 485 601 ms.StoreMessageInfo(mi) 486 602 } ··· 493 609 func (*ListResponse) ProtoMessage() {} 494 610 495 611 func (x *ListResponse) ProtoReflect() protoreflect.Message { 496 - mi := &file_configuration_proto_msgTypes[6] 612 + mi := &file_configuration_proto_msgTypes[7] 497 613 if protoimpl.UnsafeEnabled && x != nil { 498 614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 499 615 if ms.LoadMessageInfo() == nil { ··· 506 622 507 623 // Deprecated: Use ListResponse.ProtoReflect.Descriptor instead. 508 624 func (*ListResponse) Descriptor() ([]byte, []int) { 509 - return file_configuration_proto_rawDescGZIP(), []int{6} 625 + return file_configuration_proto_rawDescGZIP(), []int{7} 510 626 } 511 627 512 628 func (x *ListResponse) GetRepoIds() []int32 { ··· 529 645 func (x *RepositoryRankRequest) Reset() { 530 646 *x = RepositoryRankRequest{} 531 647 if protoimpl.UnsafeEnabled { 532 - mi := &file_configuration_proto_msgTypes[7] 648 + mi := &file_configuration_proto_msgTypes[8] 533 649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 534 650 ms.StoreMessageInfo(mi) 535 651 } ··· 542 658 func (*RepositoryRankRequest) ProtoMessage() {} 543 659 544 660 func (x *RepositoryRankRequest) ProtoReflect() protoreflect.Message { 545 - mi := &file_configuration_proto_msgTypes[7] 661 + mi := &file_configuration_proto_msgTypes[8] 546 662 if protoimpl.UnsafeEnabled && x != nil { 547 663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 548 664 if ms.LoadMessageInfo() == nil { ··· 555 671 556 672 // Deprecated: Use RepositoryRankRequest.ProtoReflect.Descriptor instead. 557 673 func (*RepositoryRankRequest) Descriptor() ([]byte, []int) { 558 - return file_configuration_proto_rawDescGZIP(), []int{7} 674 + return file_configuration_proto_rawDescGZIP(), []int{8} 559 675 } 560 676 561 677 func (x *RepositoryRankRequest) GetRepository() string { ··· 579 695 func (x *RepositoryRankResponse) Reset() { 580 696 *x = RepositoryRankResponse{} 581 697 if protoimpl.UnsafeEnabled { 582 - mi := &file_configuration_proto_msgTypes[8] 698 + mi := &file_configuration_proto_msgTypes[9] 583 699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 584 700 ms.StoreMessageInfo(mi) 585 701 } ··· 592 708 func (*RepositoryRankResponse) ProtoMessage() {} 593 709 594 710 func (x *RepositoryRankResponse) ProtoReflect() protoreflect.Message { 595 - mi := &file_configuration_proto_msgTypes[8] 711 + mi := &file_configuration_proto_msgTypes[9] 596 712 if protoimpl.UnsafeEnabled && x != nil { 597 713 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 598 714 if ms.LoadMessageInfo() == nil { ··· 605 721 606 722 // Deprecated: Use RepositoryRankResponse.ProtoReflect.Descriptor instead. 607 723 func (*RepositoryRankResponse) Descriptor() ([]byte, []int) { 608 - return file_configuration_proto_rawDescGZIP(), []int{8} 724 + return file_configuration_proto_rawDescGZIP(), []int{9} 609 725 } 610 726 611 727 func (x *RepositoryRankResponse) GetRank() []float64 { ··· 628 744 func (x *DocumentRanksRequest) Reset() { 629 745 *x = DocumentRanksRequest{} 630 746 if protoimpl.UnsafeEnabled { 631 - mi := &file_configuration_proto_msgTypes[9] 747 + mi := &file_configuration_proto_msgTypes[10] 632 748 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 633 749 ms.StoreMessageInfo(mi) 634 750 } ··· 641 757 func (*DocumentRanksRequest) ProtoMessage() {} 642 758 643 759 func (x *DocumentRanksRequest) ProtoReflect() protoreflect.Message { 644 - mi := &file_configuration_proto_msgTypes[9] 760 + mi := &file_configuration_proto_msgTypes[10] 645 761 if protoimpl.UnsafeEnabled && x != nil { 646 762 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 647 763 if ms.LoadMessageInfo() == nil { ··· 654 770 655 771 // Deprecated: Use DocumentRanksRequest.ProtoReflect.Descriptor instead. 656 772 func (*DocumentRanksRequest) Descriptor() ([]byte, []int) { 657 - return file_configuration_proto_rawDescGZIP(), []int{9} 773 + return file_configuration_proto_rawDescGZIP(), []int{10} 658 774 } 659 775 660 776 func (x *DocumentRanksRequest) GetRepository() string { ··· 682 798 func (x *DocumentRanksResponse) Reset() { 683 799 *x = DocumentRanksResponse{} 684 800 if protoimpl.UnsafeEnabled { 685 - mi := &file_configuration_proto_msgTypes[10] 801 + mi := &file_configuration_proto_msgTypes[11] 686 802 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 687 803 ms.StoreMessageInfo(mi) 688 804 } ··· 695 811 func (*DocumentRanksResponse) ProtoMessage() {} 696 812 697 813 func (x *DocumentRanksResponse) ProtoReflect() protoreflect.Message { 698 - mi := &file_configuration_proto_msgTypes[10] 814 + mi := &file_configuration_proto_msgTypes[11] 699 815 if protoimpl.UnsafeEnabled && x != nil { 700 816 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 701 817 if ms.LoadMessageInfo() == nil { ··· 708 824 709 825 // Deprecated: Use DocumentRanksResponse.ProtoReflect.Descriptor instead. 710 826 func (*DocumentRanksResponse) Descriptor() ([]byte, []int) { 711 - return file_configuration_proto_rawDescGZIP(), []int{10} 827 + return file_configuration_proto_rawDescGZIP(), []int{11} 712 828 } 713 829 714 830 func (x *DocumentRanksResponse) GetPaths() map[string]float64 { ··· 737 853 func (x *UpdateIndexStatusRequest) Reset() { 738 854 *x = UpdateIndexStatusRequest{} 739 855 if protoimpl.UnsafeEnabled { 740 - mi := &file_configuration_proto_msgTypes[11] 856 + mi := &file_configuration_proto_msgTypes[12] 741 857 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 742 858 ms.StoreMessageInfo(mi) 743 859 } ··· 750 866 func (*UpdateIndexStatusRequest) ProtoMessage() {} 751 867 752 868 func (x *UpdateIndexStatusRequest) ProtoReflect() protoreflect.Message { 753 - mi := &file_configuration_proto_msgTypes[11] 869 + mi := &file_configuration_proto_msgTypes[12] 754 870 if protoimpl.UnsafeEnabled && x != nil { 755 871 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 756 872 if ms.LoadMessageInfo() == nil { ··· 763 879 764 880 // Deprecated: Use UpdateIndexStatusRequest.ProtoReflect.Descriptor instead. 765 881 func (*UpdateIndexStatusRequest) Descriptor() ([]byte, []int) { 766 - return file_configuration_proto_rawDescGZIP(), []int{11} 882 + return file_configuration_proto_rawDescGZIP(), []int{12} 767 883 } 768 884 769 885 func (x *UpdateIndexStatusRequest) GetRepositories() []*UpdateIndexStatusRequest_Repository { ··· 783 899 func (x *UpdateIndexStatusResponse) Reset() { 784 900 *x = UpdateIndexStatusResponse{} 785 901 if protoimpl.UnsafeEnabled { 786 - mi := &file_configuration_proto_msgTypes[12] 902 + mi := &file_configuration_proto_msgTypes[13] 787 903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 788 904 ms.StoreMessageInfo(mi) 789 905 } ··· 796 912 func (*UpdateIndexStatusResponse) ProtoMessage() {} 797 913 798 914 func (x *UpdateIndexStatusResponse) ProtoReflect() protoreflect.Message { 799 - mi := &file_configuration_proto_msgTypes[12] 915 + mi := &file_configuration_proto_msgTypes[13] 800 916 if protoimpl.UnsafeEnabled && x != nil { 801 917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 802 918 if ms.LoadMessageInfo() == nil { ··· 809 925 810 926 // Deprecated: Use UpdateIndexStatusResponse.ProtoReflect.Descriptor instead. 811 927 func (*UpdateIndexStatusResponse) Descriptor() ([]byte, []int) { 812 - return file_configuration_proto_rawDescGZIP(), []int{12} 928 + return file_configuration_proto_rawDescGZIP(), []int{13} 813 929 } 814 930 815 931 type UpdateIndexStatusRequest_Repository struct { ··· 826 942 func (x *UpdateIndexStatusRequest_Repository) Reset() { 827 943 *x = UpdateIndexStatusRequest_Repository{} 828 944 if protoimpl.UnsafeEnabled { 829 - mi := &file_configuration_proto_msgTypes[14] 945 + mi := &file_configuration_proto_msgTypes[15] 830 946 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 831 947 ms.StoreMessageInfo(mi) 832 948 } ··· 839 955 func (*UpdateIndexStatusRequest_Repository) ProtoMessage() {} 840 956 841 957 func (x *UpdateIndexStatusRequest_Repository) ProtoReflect() protoreflect.Message { 842 - mi := &file_configuration_proto_msgTypes[14] 958 + mi := &file_configuration_proto_msgTypes[15] 843 959 if protoimpl.UnsafeEnabled && x != nil { 844 960 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 845 961 if ms.LoadMessageInfo() == nil { ··· 852 968 853 969 // Deprecated: Use UpdateIndexStatusRequest_Repository.ProtoReflect.Descriptor instead. 854 970 func (*UpdateIndexStatusRequest_Repository) Descriptor() ([]byte, []int) { 855 - return file_configuration_proto_rawDescGZIP(), []int{11, 0} 971 + return file_configuration_proto_rawDescGZIP(), []int{12, 0} 856 972 } 857 973 858 974 func (x *UpdateIndexStatusRequest_Repository) GetRepoId() uint32 { ··· 906 1022 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x67, 0x65, 0x6e, 907 1023 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 908 1024 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x64, 909 - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x82, 0x03, 0x0a, 0x11, 0x5a, 0x6f, 0x65, 910 - 0x6b, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 911 - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 912 - 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 913 - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 914 - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 915 - 0x6c, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 916 - 0x08, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 917 - 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 918 - 0x76, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x66, 0x69, 0x6c, 919 - 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x46, 920 - 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 921 - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x55, 922 - 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 923 - 0x32, 0x39, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 924 - 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 925 - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 926 - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 927 - 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 928 - 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 929 - 0x79, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 930 - 0x6e, 0x6b, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 931 - 0x09, 0x52, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 932 - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 933 - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x45, 0x0a, 934 - 0x15, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 935 - 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 936 - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 937 - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 938 - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4a, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 939 - 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 940 - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 941 - 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 942 - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x49, 0x64, 0x73, 943 - 0x22, 0x29, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 944 - 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 945 - 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x22, 0x37, 0x0a, 0x15, 0x52, 946 - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 947 - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 948 - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 949 - 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 950 - 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 951 - 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x04, 0x72, 0x61, 952 - 0x6e, 0x6b, 0x22, 0x36, 0x0a, 0x14, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 953 - 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 954 - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 955 - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xca, 0x01, 0x0a, 0x15, 0x44, 956 - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 957 - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 958 - 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 959 - 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 960 - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 961 - 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 962 - 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 963 - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 964 - 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x1a, 0x38, 0x0a, 965 - 0x0a, 0x50, 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 966 - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 967 - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 968 - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 969 - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 970 - 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 971 - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x73, 0x6f, 0x75, 972 - 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 973 - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 974 - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 975 - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 976 - 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 977 - 0x73, 0x1a, 0x7c, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 978 - 0x17, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 979 - 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 980 - 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x6f, 0x75, 1025 + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x78, 0x0a, 0x0f, 0x4c, 0x61, 0x6e, 0x67, 1026 + 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 1027 + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 1028 + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x63, 0x74, 0x61, 0x67, 0x73, 1029 + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 1030 + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1031 + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x54, 0x61, 0x67, 1032 + 0x73, 0x50, 0x61, 0x72, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x63, 0x74, 0x61, 1033 + 0x67, 0x73, 0x22, 0xda, 0x03, 0x0a, 0x11, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x49, 0x6e, 0x64, 0x65, 1034 + 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1035 + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 1036 + 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 1037 + 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 1038 + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x12, 0x0a, 1039 + 0x04, 0x66, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6f, 0x72, 1040 + 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 1041 + 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1f, 0x0a, 1042 + 0x0b, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 1043 + 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 1044 + 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 1045 + 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 1046 + 0x63, 0x68, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x6f, 0x75, 981 1047 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 982 1048 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 983 1049 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 984 - 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x22, 985 - 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 986 - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcd, 0x05, 0x0a, 987 - 0x19, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 988 - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x53, 989 - 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 990 - 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 991 - 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 992 - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 993 - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 994 - 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 995 - 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 996 - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 997 - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 998 - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 1050 + 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 1051 + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 1052 + 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x64, 1053 + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x5f, 0x76, 0x65, 1054 + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x6f, 0x63, 1055 + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 1056 + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 1057 + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 1058 + 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 999 1059 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 1000 1060 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 1001 - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 1002 - 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 1003 - 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1004 - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1005 - 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 1006 - 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x39, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 1061 + 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 1062 + 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x22, 1063 + 0x45, 0x0a, 0x15, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 1064 + 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1065 + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 1066 + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 1067 + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4a, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 1068 + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 1069 + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 1070 + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 1071 + 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x49, 1072 + 0x64, 0x73, 0x22, 0x29, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 1073 + 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 1074 + 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x22, 0x37, 0x0a, 1075 + 0x15, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 1076 + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 1077 + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 1078 + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 1079 + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1080 + 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x04, 1081 + 0x72, 0x61, 0x6e, 0x6b, 0x22, 0x36, 0x0a, 0x14, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 1082 + 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 1083 + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1084 + 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xca, 0x01, 0x0a, 1085 + 0x15, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 1086 + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 1087 + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 1007 1088 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1008 - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 1009 - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1010 - 0x1a, 0x3a, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 1011 - 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 1012 - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 1013 - 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 1014 - 0x01, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 1015 - 0x12, 0x38, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 1089 + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 1090 + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1091 + 0x2e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x61, 0x74, 1092 + 0x68, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 1093 + 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x1a, 1094 + 0x38, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x68, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 1095 + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 1096 + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 1097 + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x02, 0x0a, 0x18, 0x55, 0x70, 1098 + 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 1099 + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 1100 + 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x73, 1101 + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 1102 + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 1103 + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 1104 + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 1105 + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 1106 + 0x69, 0x65, 0x73, 0x1a, 0x7c, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 1107 + 0x79, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 1108 + 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x08, 0x62, 0x72, 1109 + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 1110 + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 1111 + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 1112 + 0x31, 0x2e, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 1113 + 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 1114 + 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 1115 + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x91, 1116 + 0x01, 0x0a, 0x0f, 0x43, 0x54, 0x61, 0x67, 0x73, 0x50, 0x61, 0x72, 0x73, 0x65, 0x72, 0x54, 0x79, 1117 + 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x5f, 0x54, 0x41, 0x47, 0x53, 0x5f, 0x50, 0x41, 0x52, 1118 + 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1119 + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x5f, 0x54, 0x41, 0x47, 0x53, 1120 + 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 1121 + 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x5f, 0x54, 0x41, 0x47, 0x53, 0x5f, 0x50, 0x41, 1122 + 0x52, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x56, 0x45, 0x52, 1123 + 0x53, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x5f, 0x54, 0x41, 0x47, 0x53, 0x5f, 1124 + 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x49, 0x50, 1125 + 0x10, 0x03, 0x32, 0xcd, 0x05, 0x0a, 0x19, 0x5a, 0x6f, 0x65, 0x6b, 0x74, 0x43, 0x6f, 0x6e, 0x66, 1126 + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 1127 + 0x12, 0x98, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1128 + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 1129 + 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 1130 + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 1131 + 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 1132 + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 1133 + 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 1134 + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 1135 + 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 1136 + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x04, 0x4c, 1137 + 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 1138 + 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 1139 + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 1140 + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 1141 + 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 1142 + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 1143 + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x70, 1144 + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x39, 0x2e, 0x73, 0x6f, 1145 + 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 1146 + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 1147 + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 1148 + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 1149 + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1150 + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 1151 + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 1152 + 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 1153 + 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x38, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 1154 + 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1155 + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 1156 + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1157 + 0x1a, 0x39, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 1016 1158 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 1017 1159 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 1018 - 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x6f, 0x75, 1019 - 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 1020 - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 1021 - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 1022 - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 1023 - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x2e, 1024 - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 1025 - 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 1026 - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 1027 - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x6f, 1028 - 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 1029 - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 1030 - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 1031 - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x6a, 0x5a, 0x68, 1032 - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 1033 - 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x63, 0x6d, 0x64, 1034 - 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 1035 - 0x70, 0x68, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 1036 - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 1037 - 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 1038 - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1160 + 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 1161 + 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 1162 + 0x74, 0x75, 0x73, 0x12, 0x3c, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 1163 + 0x68, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 1164 + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 1165 + 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1166 + 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e, 1167 + 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 1168 + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 1169 + 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1170 + 0x22, 0x00, 0x42, 0x6a, 0x5a, 0x68, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 1171 + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 1172 + 0x6b, 0x74, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2d, 0x73, 0x6f, 0x75, 1173 + 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x65, 1174 + 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 1175 + 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x63, 0x6f, 1176 + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x06, 1177 + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1039 1178 } 1040 1179 1041 1180 var ( ··· 1050 1189 return file_configuration_proto_rawDescData 1051 1190 } 1052 1191 1053 - var file_configuration_proto_msgTypes = make([]protoimpl.MessageInfo, 15) 1192 + var file_configuration_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 1193 + var file_configuration_proto_msgTypes = make([]protoimpl.MessageInfo, 16) 1054 1194 var file_configuration_proto_goTypes = []interface{}{ 1055 - (*SearchConfigurationRequest)(nil), // 0: sourcegraph.zoekt.configuration.v1.SearchConfigurationRequest 1056 - (*SearchConfigurationResponse)(nil), // 1: sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse 1057 - (*Fingerprint)(nil), // 2: sourcegraph.zoekt.configuration.v1.Fingerprint 1058 - (*ZoektIndexOptions)(nil), // 3: sourcegraph.zoekt.configuration.v1.ZoektIndexOptions 1059 - (*ZoektRepositoryBranch)(nil), // 4: sourcegraph.zoekt.configuration.v1.ZoektRepositoryBranch 1060 - (*ListRequest)(nil), // 5: sourcegraph.zoekt.configuration.v1.ListRequest 1061 - (*ListResponse)(nil), // 6: sourcegraph.zoekt.configuration.v1.ListResponse 1062 - (*RepositoryRankRequest)(nil), // 7: sourcegraph.zoekt.configuration.v1.RepositoryRankRequest 1063 - (*RepositoryRankResponse)(nil), // 8: sourcegraph.zoekt.configuration.v1.RepositoryRankResponse 1064 - (*DocumentRanksRequest)(nil), // 9: sourcegraph.zoekt.configuration.v1.DocumentRanksRequest 1065 - (*DocumentRanksResponse)(nil), // 10: sourcegraph.zoekt.configuration.v1.DocumentRanksResponse 1066 - (*UpdateIndexStatusRequest)(nil), // 11: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest 1067 - (*UpdateIndexStatusResponse)(nil), // 12: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusResponse 1068 - nil, // 13: sourcegraph.zoekt.configuration.v1.DocumentRanksResponse.PathsEntry 1069 - (*UpdateIndexStatusRequest_Repository)(nil), // 14: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.Repository 1070 - (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp 1195 + (CTagsParserType)(0), // 0: sourcegraph.zoekt.configuration.v1.CTagsParserType 1196 + (*SearchConfigurationRequest)(nil), // 1: sourcegraph.zoekt.configuration.v1.SearchConfigurationRequest 1197 + (*SearchConfigurationResponse)(nil), // 2: sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse 1198 + (*Fingerprint)(nil), // 3: sourcegraph.zoekt.configuration.v1.Fingerprint 1199 + (*LanguageMapping)(nil), // 4: sourcegraph.zoekt.configuration.v1.LanguageMapping 1200 + (*ZoektIndexOptions)(nil), // 5: sourcegraph.zoekt.configuration.v1.ZoektIndexOptions 1201 + (*ZoektRepositoryBranch)(nil), // 6: sourcegraph.zoekt.configuration.v1.ZoektRepositoryBranch 1202 + (*ListRequest)(nil), // 7: sourcegraph.zoekt.configuration.v1.ListRequest 1203 + (*ListResponse)(nil), // 8: sourcegraph.zoekt.configuration.v1.ListResponse 1204 + (*RepositoryRankRequest)(nil), // 9: sourcegraph.zoekt.configuration.v1.RepositoryRankRequest 1205 + (*RepositoryRankResponse)(nil), // 10: sourcegraph.zoekt.configuration.v1.RepositoryRankResponse 1206 + (*DocumentRanksRequest)(nil), // 11: sourcegraph.zoekt.configuration.v1.DocumentRanksRequest 1207 + (*DocumentRanksResponse)(nil), // 12: sourcegraph.zoekt.configuration.v1.DocumentRanksResponse 1208 + (*UpdateIndexStatusRequest)(nil), // 13: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest 1209 + (*UpdateIndexStatusResponse)(nil), // 14: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusResponse 1210 + nil, // 15: sourcegraph.zoekt.configuration.v1.DocumentRanksResponse.PathsEntry 1211 + (*UpdateIndexStatusRequest_Repository)(nil), // 16: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.Repository 1212 + (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp 1071 1213 } 1072 1214 var file_configuration_proto_depIdxs = []int32{ 1073 - 2, // 0: sourcegraph.zoekt.configuration.v1.SearchConfigurationRequest.fingerprint:type_name -> sourcegraph.zoekt.configuration.v1.Fingerprint 1074 - 2, // 1: sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse.fingerprint:type_name -> sourcegraph.zoekt.configuration.v1.Fingerprint 1075 - 3, // 2: sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse.updated_options:type_name -> sourcegraph.zoekt.configuration.v1.ZoektIndexOptions 1076 - 15, // 3: sourcegraph.zoekt.configuration.v1.Fingerprint.generated_at:type_name -> google.protobuf.Timestamp 1077 - 4, // 4: sourcegraph.zoekt.configuration.v1.ZoektIndexOptions.branches:type_name -> sourcegraph.zoekt.configuration.v1.ZoektRepositoryBranch 1078 - 13, // 5: sourcegraph.zoekt.configuration.v1.DocumentRanksResponse.paths:type_name -> sourcegraph.zoekt.configuration.v1.DocumentRanksResponse.PathsEntry 1079 - 14, // 6: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.repositories:type_name -> sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.Repository 1080 - 4, // 7: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.Repository.branches:type_name -> sourcegraph.zoekt.configuration.v1.ZoektRepositoryBranch 1081 - 0, // 8: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.SearchConfiguration:input_type -> sourcegraph.zoekt.configuration.v1.SearchConfigurationRequest 1082 - 5, // 9: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.List:input_type -> sourcegraph.zoekt.configuration.v1.ListRequest 1083 - 7, // 10: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.RepositoryRank:input_type -> sourcegraph.zoekt.configuration.v1.RepositoryRankRequest 1084 - 9, // 11: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.DocumentRanks:input_type -> sourcegraph.zoekt.configuration.v1.DocumentRanksRequest 1085 - 11, // 12: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.UpdateIndexStatus:input_type -> sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest 1086 - 1, // 13: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.SearchConfiguration:output_type -> sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse 1087 - 6, // 14: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.List:output_type -> sourcegraph.zoekt.configuration.v1.ListResponse 1088 - 8, // 15: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.RepositoryRank:output_type -> sourcegraph.zoekt.configuration.v1.RepositoryRankResponse 1089 - 10, // 16: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.DocumentRanks:output_type -> sourcegraph.zoekt.configuration.v1.DocumentRanksResponse 1090 - 12, // 17: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.UpdateIndexStatus:output_type -> sourcegraph.zoekt.configuration.v1.UpdateIndexStatusResponse 1091 - 13, // [13:18] is the sub-list for method output_type 1092 - 8, // [8:13] is the sub-list for method input_type 1093 - 8, // [8:8] is the sub-list for extension type_name 1094 - 8, // [8:8] is the sub-list for extension extendee 1095 - 0, // [0:8] is the sub-list for field type_name 1215 + 3, // 0: sourcegraph.zoekt.configuration.v1.SearchConfigurationRequest.fingerprint:type_name -> sourcegraph.zoekt.configuration.v1.Fingerprint 1216 + 3, // 1: sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse.fingerprint:type_name -> sourcegraph.zoekt.configuration.v1.Fingerprint 1217 + 5, // 2: sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse.updated_options:type_name -> sourcegraph.zoekt.configuration.v1.ZoektIndexOptions 1218 + 17, // 3: sourcegraph.zoekt.configuration.v1.Fingerprint.generated_at:type_name -> google.protobuf.Timestamp 1219 + 0, // 4: sourcegraph.zoekt.configuration.v1.LanguageMapping.ctags:type_name -> sourcegraph.zoekt.configuration.v1.CTagsParserType 1220 + 6, // 5: sourcegraph.zoekt.configuration.v1.ZoektIndexOptions.branches:type_name -> sourcegraph.zoekt.configuration.v1.ZoektRepositoryBranch 1221 + 4, // 6: sourcegraph.zoekt.configuration.v1.ZoektIndexOptions.language_map:type_name -> sourcegraph.zoekt.configuration.v1.LanguageMapping 1222 + 15, // 7: sourcegraph.zoekt.configuration.v1.DocumentRanksResponse.paths:type_name -> sourcegraph.zoekt.configuration.v1.DocumentRanksResponse.PathsEntry 1223 + 16, // 8: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.repositories:type_name -> sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.Repository 1224 + 6, // 9: sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest.Repository.branches:type_name -> sourcegraph.zoekt.configuration.v1.ZoektRepositoryBranch 1225 + 1, // 10: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.SearchConfiguration:input_type -> sourcegraph.zoekt.configuration.v1.SearchConfigurationRequest 1226 + 7, // 11: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.List:input_type -> sourcegraph.zoekt.configuration.v1.ListRequest 1227 + 9, // 12: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.RepositoryRank:input_type -> sourcegraph.zoekt.configuration.v1.RepositoryRankRequest 1228 + 11, // 13: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.DocumentRanks:input_type -> sourcegraph.zoekt.configuration.v1.DocumentRanksRequest 1229 + 13, // 14: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.UpdateIndexStatus:input_type -> sourcegraph.zoekt.configuration.v1.UpdateIndexStatusRequest 1230 + 2, // 15: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.SearchConfiguration:output_type -> sourcegraph.zoekt.configuration.v1.SearchConfigurationResponse 1231 + 8, // 16: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.List:output_type -> sourcegraph.zoekt.configuration.v1.ListResponse 1232 + 10, // 17: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.RepositoryRank:output_type -> sourcegraph.zoekt.configuration.v1.RepositoryRankResponse 1233 + 12, // 18: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.DocumentRanks:output_type -> sourcegraph.zoekt.configuration.v1.DocumentRanksResponse 1234 + 14, // 19: sourcegraph.zoekt.configuration.v1.ZoektConfigurationService.UpdateIndexStatus:output_type -> sourcegraph.zoekt.configuration.v1.UpdateIndexStatusResponse 1235 + 15, // [15:20] is the sub-list for method output_type 1236 + 10, // [10:15] is the sub-list for method input_type 1237 + 10, // [10:10] is the sub-list for extension type_name 1238 + 10, // [10:10] is the sub-list for extension extendee 1239 + 0, // [0:10] is the sub-list for field type_name 1096 1240 } 1097 1241 1098 1242 func init() { file_configuration_proto_init() } ··· 1138 1282 } 1139 1283 } 1140 1284 file_configuration_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1285 + switch v := v.(*LanguageMapping); i { 1286 + case 0: 1287 + return &v.state 1288 + case 1: 1289 + return &v.sizeCache 1290 + case 2: 1291 + return &v.unknownFields 1292 + default: 1293 + return nil 1294 + } 1295 + } 1296 + file_configuration_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1141 1297 switch v := v.(*ZoektIndexOptions); i { 1142 1298 case 0: 1143 1299 return &v.state ··· 1149 1305 return nil 1150 1306 } 1151 1307 } 1152 - file_configuration_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1308 + file_configuration_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1153 1309 switch v := v.(*ZoektRepositoryBranch); i { 1154 1310 case 0: 1155 1311 return &v.state ··· 1161 1317 return nil 1162 1318 } 1163 1319 } 1164 - file_configuration_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1320 + file_configuration_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1165 1321 switch v := v.(*ListRequest); i { 1166 1322 case 0: 1167 1323 return &v.state ··· 1173 1329 return nil 1174 1330 } 1175 1331 } 1176 - file_configuration_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1332 + file_configuration_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1177 1333 switch v := v.(*ListResponse); i { 1178 1334 case 0: 1179 1335 return &v.state ··· 1185 1341 return nil 1186 1342 } 1187 1343 } 1188 - file_configuration_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1344 + file_configuration_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1189 1345 switch v := v.(*RepositoryRankRequest); i { 1190 1346 case 0: 1191 1347 return &v.state ··· 1197 1353 return nil 1198 1354 } 1199 1355 } 1200 - file_configuration_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1356 + file_configuration_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1201 1357 switch v := v.(*RepositoryRankResponse); i { 1202 1358 case 0: 1203 1359 return &v.state ··· 1209 1365 return nil 1210 1366 } 1211 1367 } 1212 - file_configuration_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1368 + file_configuration_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1213 1369 switch v := v.(*DocumentRanksRequest); i { 1214 1370 case 0: 1215 1371 return &v.state ··· 1221 1377 return nil 1222 1378 } 1223 1379 } 1224 - file_configuration_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1380 + file_configuration_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1225 1381 switch v := v.(*DocumentRanksResponse); i { 1226 1382 case 0: 1227 1383 return &v.state ··· 1233 1389 return nil 1234 1390 } 1235 1391 } 1236 - file_configuration_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1392 + file_configuration_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1237 1393 switch v := v.(*UpdateIndexStatusRequest); i { 1238 1394 case 0: 1239 1395 return &v.state ··· 1245 1401 return nil 1246 1402 } 1247 1403 } 1248 - file_configuration_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1404 + file_configuration_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1249 1405 switch v := v.(*UpdateIndexStatusResponse); i { 1250 1406 case 0: 1251 1407 return &v.state ··· 1257 1413 return nil 1258 1414 } 1259 1415 } 1260 - file_configuration_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 1416 + file_configuration_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 1261 1417 switch v := v.(*UpdateIndexStatusRequest_Repository); i { 1262 1418 case 0: 1263 1419 return &v.state ··· 1275 1431 File: protoimpl.DescBuilder{ 1276 1432 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1277 1433 RawDescriptor: file_configuration_proto_rawDesc, 1278 - NumEnums: 0, 1279 - NumMessages: 15, 1434 + NumEnums: 1, 1435 + NumMessages: 16, 1280 1436 NumExtensions: 0, 1281 1437 NumServices: 1, 1282 1438 }, 1283 1439 GoTypes: file_configuration_proto_goTypes, 1284 1440 DependencyIndexes: file_configuration_proto_depIdxs, 1441 + EnumInfos: file_configuration_proto_enumTypes, 1285 1442 MessageInfos: file_configuration_proto_msgTypes, 1286 1443 }.Build() 1287 1444 File_configuration_proto = out.File
+15
cmd/zoekt-sourcegraph-indexserver/protos/sourcegraph/zoekt/configuration/v1/configuration.proto
··· 59 59 uint64 identifier = 2; 60 60 } 61 61 62 + enum CTagsParserType { 63 + C_TAGS_PARSER_TYPE_UNSPECIFIED = 0; 64 + C_TAGS_PARSER_TYPE_NONE = 1; 65 + C_TAGS_PARSER_TYPE_UNIVERSAL = 2; 66 + C_TAGS_PARSER_TYPE_SCIP = 3; 67 + } 68 + 69 + message LanguageMapping { 70 + string language = 1; 71 + CTagsParserType ctags = 2; 72 + } 73 + 62 74 // ZoektIndexOptions are options which change what we index for a 63 75 // repository. Everytime a repository is indexed by zoekt this structure is 64 76 // fetched. ··· 102 114 103 115 // error, if non-empty, indicates that the request failed for the repo. 104 116 string error = 11; 117 + 118 + // map of languages 119 + repeated LanguageMapping language_map = 12; 105 120 } 106 121 107 122 // ZoektRepositoryBranch describes an indexed branch of a repository.
+18
cmd/zoekt-sourcegraph-indexserver/sg.go
··· 497 497 } 498 498 499 499 item := indexOptionsItem{} 500 + languageMap := make(map[string]uint8) 501 + 502 + for _, lang := range x.GetLanguageMap() { 503 + languageMap[lang.GetLanguage()] = uint8(lang.GetCtags().Number()) 504 + } 500 505 501 506 item.IndexOptions = IndexOptions{ 502 507 RepoID: uint32(x.GetRepoId()), ··· 512 517 Public: x.GetPublic(), 513 518 Fork: x.GetFork(), 514 519 Archived: x.GetArchived(), 520 + 521 + LanguageMap: languageMap, 515 522 } 516 523 517 524 item.Error = x.GetError() ··· 528 535 }) 529 536 } 530 537 538 + languageMap := make([]*proto.LanguageMapping, 0, len(o.LanguageMap)) 539 + 540 + for lang, parser := range o.LanguageMap { 541 + languageMap = append(languageMap, &proto.LanguageMapping{ 542 + Language: lang, 543 + Ctags: proto.CTagsParserType(parser), 544 + }) 545 + } 546 + 531 547 return &proto.ZoektIndexOptions{ 532 548 RepoId: int32(o.RepoID), 533 549 LargeFiles: o.LargeFiles, ··· 544 560 Archived: o.Archived, 545 561 546 562 Error: o.Error, 563 + 564 + LanguageMap: languageMap, 547 565 } 548 566 } 549 567
+1 -1
ctags/json.go
··· 120 120 // NewParser creates a parser that is implemented by the given 121 121 // universal-ctags binary. The parser is safe for concurrent use. 122 122 func NewParser(bin string) (Parser, error) { 123 - if strings.Contains(bin, "universal-ctags") { 123 + if strings.Contains(bin, "universal-ctags") || strings.Contains(bin, "scip-ctags") { 124 124 opts := goctags.Options{ 125 125 Bin: bin, 126 126 }
+80
ctags/parser_map.go
··· 1 + // Copyright 2017 Google Inc. All rights reserved. 2 + // 3 + // Licensed under the Apache License, Version 2.0 (the "License"); 4 + // you may not use this file except in compliance with the License. 5 + // You may obtain a copy of the License at 6 + // 7 + // http://www.apache.org/licenses/LICENSE-2.0 8 + // 9 + // Unless required by applicable law or agreed to in writing, software 10 + // distributed under the License is distributed on an "AS IS" BASIS, 11 + // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 + // See the License for the specific language governing permissions and 13 + // limitations under the License. 14 + 15 + package ctags 16 + 17 + import ( 18 + "fmt" 19 + ) 20 + 21 + type CTagsParserType = uint8 22 + 23 + const ( 24 + UnknownCTags CTagsParserType = iota 25 + NoCTags 26 + UniversalCTags 27 + ScipCTags 28 + ) 29 + 30 + type LanguageMap = map[string]CTagsParserType 31 + 32 + func ParserToString(parser CTagsParserType) string { 33 + switch parser { 34 + case UnknownCTags: 35 + return "unknown" 36 + case NoCTags: 37 + return "no" 38 + case UniversalCTags: 39 + return "universal" 40 + case ScipCTags: 41 + return "scip" 42 + default: 43 + panic("Reached impossible CTagsParserType state") 44 + } 45 + } 46 + 47 + func StringToParser(str string) CTagsParserType { 48 + switch str { 49 + case "no": 50 + return NoCTags 51 + case "universal": 52 + return UniversalCTags 53 + case "scip": 54 + return ScipCTags 55 + default: 56 + return UniversalCTags 57 + } 58 + } 59 + 60 + type ParserMap map[CTagsParserType]Parser 61 + type ParserBinMap map[CTagsParserType]string 62 + 63 + func NewParserMap(bins ParserBinMap, cTagsMustSucceed bool) (ParserMap, error) { 64 + parsers := make(ParserMap) 65 + 66 + for _, parserType := range []CTagsParserType{UniversalCTags, ScipCTags} { 67 + bin := bins[parserType] 68 + if bin != "" { 69 + parser, err := NewParser(bin) 70 + 71 + if err != nil && cTagsMustSucceed { 72 + return nil, fmt.Errorf("ctags.NewParserMap: %v", err) 73 + } 74 + 75 + parsers[parserType] = parser 76 + } 77 + } 78 + 79 + return parsers, nil 80 + }
+13 -9
indexbuilder.go
··· 242 242 fileEndSymbol: []uint32{0}, 243 243 symIndex: make(map[string]uint32), 244 244 symKindIndex: make(map[string]uint32), 245 - languageMap: map[string]uint16{}, 245 + languageMap: make(map[string]uint16), 246 246 } 247 247 } 248 248 ··· 423 423 } 424 424 } 425 425 426 + func DetermineLanguageIfUnknown(doc *Document) { 427 + if doc.Language == "" { 428 + c := doc.Content 429 + // classifier is faster on small files without losing much accuracy 430 + if len(c) > 2048 { 431 + c = c[:2048] 432 + } 433 + doc.Language = enry.GetLanguage(doc.Name, c) 434 + } 435 + } 436 + 426 437 // Add a file which only occurs in certain branches. 427 438 func (b *IndexBuilder) Add(doc Document) error { 428 439 hasher := crc64.New(crc64.MakeTable(crc64.ISO)) ··· 441 452 } 442 453 } 443 454 444 - if doc.Language == "" { 445 - c := doc.Content 446 - // classifier is faster on small files without losing much accuracy 447 - if len(c) > 2048 { 448 - c = c[:2048] 449 - } 450 - doc.Language = enry.GetLanguage(doc.Name, c) 451 - } 455 + DetermineLanguageIfUnknown(&doc) 452 456 453 457 sort.Sort(symbolSlice{doc.Symbols, doc.SymbolsMetaData}) 454 458 var last DocumentSection