How to use the @tslab/typescript-for-tslab.tslab function in @tslab/typescript-for-tslab

To help you get started, we’ve selected a few @tslab/typescript-for-tslab examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github yunabe / tslab / src / converter.ts View on Github external
let srcFile = builder.getSourceFile(srcFilename);
    srcFile.parent = declsFile;

    const pos = position + srcPrefix.length;
    const info = getCompletionsAtPosition(
      builder.getProgram(),
      () => {
        // ignore log messages
      },
      srcFile,
      pos,
      {},
      undefined
    );

    const prev: ts.Node = ts.tslab.findPrecedingToken(pos, srcFile);
    // Note: In contradiction to the docstring, findPrecedingToken may return prev with
    // prev.end > pos (e.g. `members with surrounding` test case).
    //
    // Note: Be careful. node.pos != node.getStart().
    // (e.g. `globals with prefix` test case)
    if (prev && ts.isIdentifier(prev) && prev.end >= pos) {
      return completionWithId(info, prev, srcFile);
    }
    const next: ts.Node = prev
      ? ts.tslab.findNextToken(prev, srcFile, srcFile)
      : null;
    if (
      next &&
      ts.isIdentifier(next) &&
      next.getStart(srcFile) <= pos &&
      pos <= next.end
github yunabe / tslab / src / converter.ts View on Github external
pos,
      {},
      undefined
    );

    const prev: ts.Node = ts.tslab.findPrecedingToken(pos, srcFile);
    // Note: In contradiction to the docstring, findPrecedingToken may return prev with
    // prev.end > pos (e.g. `members with surrounding` test case).
    //
    // Note: Be careful. node.pos != node.getStart().
    // (e.g. `globals with prefix` test case)
    if (prev && ts.isIdentifier(prev) && prev.end >= pos) {
      return completionWithId(info, prev, srcFile);
    }
    const next: ts.Node = prev
      ? ts.tslab.findNextToken(prev, srcFile, srcFile)
      : null;
    if (
      next &&
      ts.isIdentifier(next) &&
      next.getStart(srcFile) <= pos &&
      pos <= next.end
    ) {
      return completionWithId(info, next, srcFile);
    }
    let entries = info && info.entries ? info.entries.slice() : [];
    entries.sort((a, b) => {
      const ord = a.sortText.localeCompare(b.sortText);
      return ord !== 0 ? ord : a.name.localeCompare(b.name);
    });
    const candidates = entries.map(e => e.name);
    return {
github yunabe / tslab / src / converter.ts View on Github external
function getCompletionsAtPosition(
  program: ts.Program,
  log: (message: string) => void,
  sourceFile: ts.SourceFile,
  position: number,
  preferences: ts.UserPreferences,
  triggerCharacter?: ts.CompletionsTriggerCharacter
): ts.CompletionInfo {
  const host: ts.LanguageServiceHost = {} as any;
  return ts.tslab.getCompletionsAtPosition(
    host,
    program,
    log,
    sourceFile,
    position,
    preferences,
    triggerCharacter
  );
}