mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-12 11:39:57 +01:00
Smooth markdown scrolling
This commit is contained in:
@@ -65,10 +65,13 @@
|
||||
if (isNaN(line)) {
|
||||
continue;
|
||||
}
|
||||
const bounds = element.getBoundingClientRect();
|
||||
const entry = { element, line };
|
||||
if (offset >= window.scrollY + element.getBoundingClientRect().top && offset <= window.scrollY + element.getBoundingClientRect().top + element.getBoundingClientRect().height) {
|
||||
if (offset >= window.scrollY + bounds.top && offset <= window.scrollY + bounds.top + bounds.height) {
|
||||
// add progress through element
|
||||
entry.line += (offset - (window.scrollY + bounds.top)) / (bounds.height);
|
||||
return { previous: entry };
|
||||
} else if (offset < window.scrollY + element.getBoundingClientRect().top) {
|
||||
} else if (offset < window.scrollY + bounds.top) {
|
||||
return { previous, next: entry };
|
||||
}
|
||||
previous = entry;
|
||||
|
||||
@@ -47,7 +47,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
const sourceLine = Math.floor(line);
|
||||
const text = editor.document.getText(new vscode.Range(sourceLine, 0, sourceLine + 1, 0));
|
||||
const fraction = line - Math.floor(line);
|
||||
const start = fraction * text.length;
|
||||
const start = Math.floor(fraction * text.length);
|
||||
editor.revealRange(
|
||||
new vscode.Range(sourceLine, start, sourceLine + 1, 0),
|
||||
vscode.TextEditorRevealType.AtTop);
|
||||
|
||||
@@ -131,11 +131,8 @@ export class MarkdownEngine {
|
||||
private addLinkValidator(md: any): void {
|
||||
const validateLink = md.validateLink;
|
||||
md.validateLink = (link: string) => {
|
||||
if (validateLink(link)) {
|
||||
return true;
|
||||
}
|
||||
// support file:// links
|
||||
return link.indexOf('file:') === 0;
|
||||
return validateLink(link) || link.indexOf('file:') === 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user