Fix: default options
This commit is contained in:
parent
c23f315c52
commit
ff6fd8cad3
|
@ -10,22 +10,6 @@
|
||||||
|
|
||||||
const defaults = {
|
const defaults = {
|
||||||
autocompleteOnTyping: prefs.get('editor.autocompleteOnTyping'),
|
autocompleteOnTyping: prefs.get('editor.autocompleteOnTyping'),
|
||||||
mode: 'css',
|
|
||||||
lineNumbers: true,
|
|
||||||
lineWrapping: prefs.get('editor.lineWrapping'),
|
|
||||||
foldGutter: true,
|
|
||||||
gutters: [
|
|
||||||
'CodeMirror-linenumbers',
|
|
||||||
'CodeMirror-foldgutter',
|
|
||||||
...(prefs.get('editor.linter') ? ['CodeMirror-lint-markers'] : []),
|
|
||||||
],
|
|
||||||
matchBrackets: true,
|
|
||||||
highlightSelectionMatches: {showToken: /[#.\-\w]/, annotateScrollbar: true},
|
|
||||||
hintOptions: {},
|
|
||||||
lintReportDelay: prefs.get('editor.lintReportDelay'),
|
|
||||||
styleActiveLine: true,
|
|
||||||
theme: 'default',
|
|
||||||
keyMap: prefs.get('editor.keyMap'),
|
|
||||||
extraKeys: Object.assign(CodeMirror.defaults.extraKeys || {}, {
|
extraKeys: Object.assign(CodeMirror.defaults.extraKeys || {}, {
|
||||||
// independent of current keyMap
|
// independent of current keyMap
|
||||||
'Alt-Enter': 'toggleStyle',
|
'Alt-Enter': 'toggleStyle',
|
||||||
|
@ -33,7 +17,27 @@
|
||||||
'Alt-PageUp': 'prevEditor',
|
'Alt-PageUp': 'prevEditor',
|
||||||
'Ctrl-Pause': 'toggleEditorFocus',
|
'Ctrl-Pause': 'toggleEditorFocus',
|
||||||
}),
|
}),
|
||||||
|
foldGutter: true,
|
||||||
|
gutters: [
|
||||||
|
'CodeMirror-linenumbers',
|
||||||
|
'CodeMirror-foldgutter',
|
||||||
|
...(prefs.get('editor.linter') ? ['CodeMirror-lint-markers'] : []),
|
||||||
|
],
|
||||||
|
// highlightSelectionMatches: {showToken: /[#.\-\w]/, annotateScrollbar: true},
|
||||||
|
hintOptions: {},
|
||||||
|
indentWithTabs: prefs.get('editor.indentWithTabs'),
|
||||||
|
keyMap: prefs.get('editor.keyMap'),
|
||||||
|
lintReportDelay: prefs.get('editor.lintReportDelay'),
|
||||||
|
lineNumbers: true,
|
||||||
|
lineWrapping: prefs.get('editor.lineWrapping'),
|
||||||
|
matchBrackets: true,
|
||||||
|
matchHighlight: prefs.get('editor.matchHighlight'),
|
||||||
maxHighlightLength: 100e3,
|
maxHighlightLength: 100e3,
|
||||||
|
mode: 'css',
|
||||||
|
styleActiveLine: true,
|
||||||
|
selectByTokens: prefs.get('editor.selectByTokens'),
|
||||||
|
tabSize: prefs.get('editor.tabSize'),
|
||||||
|
theme: prefs.get('editor.theme'),
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(CodeMirror.defaults, defaults, prefs.get('editor.options'));
|
Object.assign(CodeMirror.defaults, defaults, prefs.get('editor.options'));
|
||||||
|
|
|
@ -70,14 +70,10 @@ const cmFactory = (() => {
|
||||||
const url = chrome.runtime.getURL('vendor/codemirror/theme/' + value + '.css');
|
const url = chrome.runtime.getURL('vendor/codemirror/theme/' + value + '.css');
|
||||||
if (themeLink.href !== url) {
|
if (themeLink.href !== url) {
|
||||||
// avoid flicker: wait for the second stylesheet to load, then apply the theme
|
// avoid flicker: wait for the second stylesheet to load, then apply the theme
|
||||||
return loadScript(url).then(([newThemeLink]) => {
|
return loadScript(url, true).then(([newThemeLink]) => {
|
||||||
setOption(option, value);
|
setOption(option, value);
|
||||||
themeLink.remove();
|
themeLink.remove();
|
||||||
newThemeLink.id = 'cm-theme';
|
newThemeLink.id = 'cm-theme';
|
||||||
// already loaded but is removed.
|
|
||||||
if (!newThemeLink.parentNode) {
|
|
||||||
document.head.appendChild(newThemeLink);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -214,8 +210,8 @@ const cmFactory = (() => {
|
||||||
throttleSetOption({key, value, index: 0});
|
throttleSetOption({key, value, index: 0});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (const editor of editors) {
|
for (const cm of editors) {
|
||||||
editor.setOption(key, value);
|
cm.setOption(key, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,11 +37,15 @@ var loadScript = (() => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return files => {
|
return (files, noCache = false) => {
|
||||||
if (!Array.isArray(files)) {
|
if (!Array.isArray(files)) {
|
||||||
files = [files];
|
files = [files];
|
||||||
}
|
}
|
||||||
return Promise.all(files.map(f => (typeof f === 'string' ? inject(f) : f)));
|
return Promise.all(files.map(f =>
|
||||||
|
typeof f !== 'string' ? f :
|
||||||
|
noCache ? doInject(f) :
|
||||||
|
inject(f)
|
||||||
|
));
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user