in src/definition/bazel_goto_definition_provider.ts [33:66]
  public async provideDefinition(
    document: TextDocument,
    position: Position,
    token: CancellationToken,
  ): Promise<Definition | DefinitionLink[]> {
    const workspaceInfo = BazelWorkspaceInfo.fromDocument(document);
    if (workspaceInfo === undefined) {
      // Not in a Bazel Workspace.
      return null;
    }
    const range = document.getWordRangeAtPosition(position, LABEL_REGEX);
    const targetText = document.getText(range);
    const match = LABEL_REGEX.exec(targetText);
    const targetName = match[1];
    // don't try to process visibility targets.
    if (targetName.startsWith("//visibility")) {
      return null;
    }
    const queryResult = await new BazelQuery(
      getDefaultBazelExecutablePath(),
      Utils.dirname(document.uri).fsPath,
      `kind(rule, "${targetName}")`,
      [],
    ).queryTargets();
    if (!queryResult.target.length) {
      return null;
    }
    const location = new QueryLocation(queryResult.target[0].rule.location);
    return new Location(Uri.file(location.path), location.range);
  }