mirror of
https://github.com/Microsoft/vscode
synced 2024-10-30 01:37:20 +00:00
Enable strict mode
This commit is contained in:
parent
c43fe75976
commit
dc0d6badd3
5 changed files with 27 additions and 16 deletions
|
@ -10,7 +10,7 @@ import { postCommand, postMessage } from './messaging';
|
|||
function throttle(fn: (x: any) => any, threshhold: any, scope?: any) {
|
||||
threshhold = threshhold || (threshhold = 250);
|
||||
var last: any, deferTimer: any;
|
||||
return function (...x: any[]) {
|
||||
return function (this: any, ...x: any[]) {
|
||||
var context = scope || this;
|
||||
|
||||
var now = +new Date,
|
||||
|
@ -71,7 +71,7 @@ function getElementsForSourceLine(targetLine: number): { previous: CodeLineEleme
|
|||
let previous = lines[0] || null;
|
||||
for (const entry of lines) {
|
||||
if (entry.line === lineNumber) {
|
||||
return { previous: entry, next: null };
|
||||
return { previous: entry, next: undefined };
|
||||
}
|
||||
else if (entry.line > lineNumber) {
|
||||
return { previous, next: entry };
|
||||
|
@ -163,14 +163,14 @@ class ActiveLineMarker {
|
|||
this._current = before;
|
||||
}
|
||||
|
||||
_unmarkActiveElement(element: HTMLElement) {
|
||||
_unmarkActiveElement(element: HTMLElement | undefined) {
|
||||
if (!element) {
|
||||
return;
|
||||
}
|
||||
element.className = element.className.replace(/\bcode-active-line\b/g, '');
|
||||
}
|
||||
|
||||
_markActiveElement(element: HTMLElement) {
|
||||
_markActiveElement(element: HTMLElement | undefined) {
|
||||
if (!element) {
|
||||
return;
|
||||
}
|
||||
|
@ -250,7 +250,7 @@ document.addEventListener('dblclick', event => {
|
|||
|
||||
const offset = event.pageY;
|
||||
const line = getEditorLineNumberForPageOffset(offset);
|
||||
if (!isNaN(line)) {
|
||||
if (typeof line === 'number' && !isNaN(line)) {
|
||||
postMessage('didClick', { line });
|
||||
}
|
||||
});
|
||||
|
@ -260,8 +260,6 @@ document.addEventListener('click', event => {
|
|||
return;
|
||||
}
|
||||
|
||||
const baseElement = document.getElementsByTagName('base')[0];
|
||||
|
||||
let node: any = event.target;
|
||||
while (node) {
|
||||
if (node.tagName && node.tagName === 'A' && node.href) {
|
||||
|
@ -287,7 +285,7 @@ if (settings.scrollEditorWithPreview) {
|
|||
scrollDisabled = false;
|
||||
} else {
|
||||
const line = getEditorLineNumberForPageOffset(window.scrollY);
|
||||
if (!isNaN(line)) {
|
||||
if (typeof line === 'number' && !isNaN(line)) {
|
||||
postMessage('revealLine', { line });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,13 +2,10 @@
|
|||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
import { getSettings } from './settings';
|
||||
import { postCommand } from './messaging';
|
||||
|
||||
const unloadedStyles: string[] = [];
|
||||
|
||||
const settings = getSettings();
|
||||
|
||||
const onStyleLoadError = (event: any) => {
|
||||
const source = event.target.dataset.source;
|
||||
unloadedStyles.push(source);
|
||||
|
|
|
@ -7,12 +7,19 @@ export interface PreviewSettings {
|
|||
source: string;
|
||||
line: number;
|
||||
lineCount: number;
|
||||
scrollPreviewWithEditor: boolean;
|
||||
scrollPreviewWithEditor?: boolean;
|
||||
scrollEditorWithPreview: boolean;
|
||||
disableSecurityWarnings: boolean;
|
||||
doubleClickToSwitchToEditor: boolean;
|
||||
}
|
||||
|
||||
export function getSettings(): PreviewSettings {
|
||||
return JSON.parse(document.getElementById('vscode-markdown-preview-data').getAttribute('data-settings'));
|
||||
const element = document.getElementById('vscode-markdown-preview-data');
|
||||
if (element) {
|
||||
const data = element.getAttribute('data-settings');
|
||||
if (data) {
|
||||
return JSON.parse(data);
|
||||
}
|
||||
}
|
||||
throw new Error('Could not load settings');
|
||||
}
|
||||
|
|
|
@ -4,5 +4,12 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export function getStrings(): { [key: string]: string } {
|
||||
return JSON.parse(document.getElementById('vscode-markdown-preview-data').getAttribute('data-strings'));
|
||||
const store = document.getElementById('vscode-markdown-preview-data');
|
||||
if (store) {
|
||||
const data = store.getAttribute('data-strings');
|
||||
if (data) {
|
||||
return JSON.parse(data);
|
||||
}
|
||||
}
|
||||
throw new Error('Could not load strings');
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist/",
|
||||
"noImplicitAny": true,
|
||||
"module": "es6",
|
||||
"target": "es6",
|
||||
"jsx": "react",
|
||||
"sourceMap": true
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"noImplicitAny": true,
|
||||
"noUnusedLocals": true
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue