@prisma/language-server
Version:
Prisma Language Server
23 lines (22 loc) • 1.56 kB
TypeScript
import { Range, Position } from 'vscode-languageserver';
import type { TextDocument } from 'vscode-languageserver-textdocument';
import { Block } from './block';
import { PrismaSchema } from '../Schema';
export declare function fullDocumentRange(document: TextDocument): Range;
export declare function getCurrentLine(document: TextDocument, line: number): string;
/**
* Check if the position is at the beginning of a new line in the block,
* not necessarily the first line of the block.
*/
export declare function isFirstInsideBlock(position: Position, currentLine: string): boolean;
export declare function getWordAtPosition(document: TextDocument, position: Position): string;
export declare function getBlockAtPosition(fileUri: string, line: number, schema: PrismaSchema): Block | undefined;
export declare function getSymbolBeforePosition(document: TextDocument, position: Position): string;
export declare function positionIsAfterFieldAndType(position: Position, document: TextDocument, wordsBeforePosition: string[]): boolean;
export declare function isInsideGivenProperty(currentLineUntrimmed: string, wordsBeforePosition: string[], attributeName: string, position: Position): boolean;
/***
* @param symbols expects e.g. '()', '[]' or '""'
*/
export declare function isInsideAttribute(currentLineUntrimmed: string, position: Position, symbols: string): boolean;
export declare function isInsideFieldArgument(currentLineUntrimmed: string, position: Position): boolean;
export declare function getValuesInsideSquareBrackets(line: string): string[];