本文整理汇总了TypeScript中vscode-languageserver.Position类的典型用法代码示例。如果您正苦于以下问题:TypeScript Position类的具体用法?TypeScript Position怎么用?TypeScript Position使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Position类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: getFoldingRanges
export function getFoldingRanges(languageModes: LanguageModes, document: TextDocument, maxRanges: number | undefined, _cancellationToken: CancellationToken | null): FoldingRange[] {
let htmlMode = languageModes.getMode('html');
let range = Range.create(Position.create(0, 0), Position.create(document.lineCount, 0));
let result: FoldingRange[] = [];
if (htmlMode && htmlMode.getFoldingRanges) {
result.push(...htmlMode.getFoldingRanges(document));
}
// cache folding ranges per mode
let rangesPerMode: { [mode: string]: FoldingRange[] } = Object.create(null);
let getRangesForMode = (mode: LanguageMode) => {
if (mode.getFoldingRanges) {
let ranges = rangesPerMode[mode.getId()];
if (!Array.isArray(ranges)) {
ranges = mode.getFoldingRanges(document) || [];
rangesPerMode[mode.getId()] = ranges;
}
return ranges;
}
return [];
};
let modeRanges = languageModes.getModesInRange(document, range);
for (let modeRange of modeRanges) {
let mode = modeRange.mode;
if (mode && mode !== htmlMode && !modeRange.attributeValue) {
const ranges = getRangesForMode(mode);
result.push(...ranges.filter(r => r.startLine >= modeRange.start.line && r.endLine < modeRange.end.line));
}
}
if (maxRanges && result.length > maxRanges) {
result = limitRanges(result, maxRanges);
}
return result;
}
开发者ID:PKRoma,项目名称:vscode,代码行数:35,代码来源:htmlFolding.ts
示例2: it
it('should return an empty string if ghc-mod "Cannot show info"', () => {
let ghcModOutput = ['Cannot show info'];
let position = Position.create(0, 5);
let logger: ILogger = new TestLogger();
let ghcMod: IGhcMod = new TestGhcMod(ghcModOutput);
let provider: IGhcModProvider = new GhcModProvider(ghcMod, '', logger );
return provider.getType(null, null, position, false).then((info) => {
assert.equal(info, '');
});
});
开发者ID:gdziadkiewicz,项目名称:vscode-ghc-mod,代码行数:10,代码来源:ghcModProvider.spec.ts
示例3: it
it('should return the info of the symbol at the position', () => {
let ghcModOutput = ['Symbol', 'Info'];
let position = Position.create(0, 5);
let logger: ILogger = new TestLogger();
let ghcMod: IGhcMod = new TestGhcMod(ghcModOutput);
let provider: IGhcModProvider = new GhcModProvider(ghcMod, '', logger );
return provider.getInfo("Any text", null, position, false).then((info) => {
assert.equal(info, 'Symbol\nInfo');
});
});
开发者ID:bravomikekilo,项目名称:vscode-ghc-mod,代码行数:10,代码来源:ghcModProvider.spec.ts
示例4: getFoldingRanges
export function getFoldingRanges(languageModes: LanguageModes, document: TextDocument, maxRanges: number | undefined, cancellationToken: CancellationToken | null): FoldingRange[] {
let htmlMode = languageModes.getMode('html');
let range = Range.create(Position.create(0, 0), Position.create(document.lineCount, 0));
let ranges: FoldingRange[] = [];
if (htmlMode && htmlMode.getFoldingRanges) {
ranges.push(...htmlMode.getFoldingRanges(document, range));
}
let modeRanges = languageModes.getModesInRange(document, range);
for (let modeRange of modeRanges) {
let mode = modeRange.mode;
if (mode && mode !== htmlMode && mode.getFoldingRanges && !modeRange.attributeValue) {
ranges.push(...mode.getFoldingRanges(document, modeRange));
}
}
if (maxRanges && ranges.length > maxRanges) {
ranges = limitRanges(ranges, maxRanges);
}
return ranges;
}
开发者ID:AllureFer,项目名称:vscode,代码行数:19,代码来源:htmlFolding.ts
示例5: getEOL
function getEOL(document: ITextDocument): string {
let text = document.getText();
if (document.lineCount > 1) {
let to = document.offsetAt(Position.create(1, 0));
let from = to;
while (from > 0 && isEOL(text, from - 1)) {
from--;
}
return text.substr(from, to - from);
}
return '\n';
}
开发者ID:13572293130,项目名称:vscode,代码行数:12,代码来源:jsonFormatter.ts
示例6: convertToLocalImagePath
async function convertToLocalImagePath(absoluteImagePath: string, urlMatch: UrlMatch): Promise<ImageInfo> {
if (absoluteImagePath) {
let isDataUri = absoluteImagePath.indexOf('data:image') == 0;
let isExtensionSupported: boolean;
if (!isDataUri) {
const absoluteImageUrl = url.parse(absoluteImagePath);
if (absoluteImageUrl && absoluteImageUrl.pathname) {
let absolutePath = path.parse(absoluteImageUrl.pathname);
isExtensionSupported = acceptedExtensions.some(
ext => absolutePath && absolutePath.ext && absolutePath.ext.toLowerCase().startsWith(ext)
);
}
}
const start = Position.create(urlMatch.lineIndex, urlMatch.start);
const end = Position.create(urlMatch.lineIndex, urlMatch.end);
const range = { start, end };
absoluteImagePath = absoluteImagePath.replace(/\|(width=\d*)?(height=\d*)?/gm, '');
if (isDataUri || isExtensionSupported) {
if (isDataUri) {
return Promise.resolve({
originalImagePath: absoluteImagePath,
imagePath: absoluteImagePath,
range
});
} else {
return ImageCache.store(absoluteImagePath).then(imagePath => {
return {
originalImagePath: absoluteImagePath,
imagePath,
range
};
});
}
}
}
}
开发者ID:kisstkondoros,项目名称:gutter-preview,代码行数:40,代码来源:server.ts
示例7:
connection.onRequest(TagCloseRequest.type, params => {
let document = documents.get(params.textDocument.uri);
if (document) {
let pos = params.position;
if (pos.character > 0) {
let mode = languageModes.getModeAtPosition(document, Position.create(pos.line, pos.character - 1));
if (mode && mode.doAutoClose) {
return mode.doAutoClose(document, pos);
}
}
}
return null;
});
开发者ID:armanio123,项目名称:vscode,代码行数:13,代码来源:htmlServerMain.ts
注:本文中的vscode-languageserver.Position类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论