@imc-trading/svlangserver
Version:
A language server for systemverilog
31 lines (30 loc) • 1.55 kB
TypeScript
import { Location, Range, SymbolInformation } from "vscode-languageserver/node";
export declare type DefinitionLocations = Range | Array<string | Range>;
declare type SymbolLocation = number | Range | [string, Range];
declare type PositionJSON = [number, number];
declare type RangeJSON = [PositionJSON, PositionJSON];
declare type DefinitionLocationsJSON = RangeJSON | Array<string | RangeJSON>;
declare type SymbolLocationJSON = number | RangeJSON | [string, RangeJSON];
export declare type SystemVerilogSymbolJSON = [string, DefinitionLocationsJSON, SymbolLocationJSON, string[], string[]];
export declare class SystemVerilogSymbol {
name: string;
defLocations: DefinitionLocations;
symLocation: SymbolLocation;
containers: string[];
type: string[];
constructor(name: string, defLocations: DefinitionLocations, symLocation: SymbolLocation, containers: string[], type: string[]);
private static _toRangeJSON;
private static _isRangeJSON;
private static _toRange;
private static _defLocationsToJSON;
private static _symLocationToJSON;
toJSON(): SystemVerilogSymbolJSON;
static fromJSON(uri: string, jsonSymbol: SystemVerilogSymbolJSON): SystemVerilogSymbol;
getSymbolLocation(uri: string): Location;
toSymbolInformation(uri: string): SymbolInformation;
overwrite(symbol: SystemVerilogSymbol): void;
getDefinition(uri: string): string;
static getDefinitions(uri: string, symbols: SystemVerilogSymbol[]): string[];
getSymbolDocumentPath(uri: string): string;
}
export {};