editor: File extension-based language detection.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 9m42s
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 9m42s
This commit is contained in:
@@ -1601,6 +1601,25 @@ function connectSocket(path) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine a CodeMirror language mode from filename.
|
||||
* @param name Filename.
|
||||
* @return The mode name.
|
||||
*/
|
||||
function modeFromName(name) {
|
||||
switch (name.split('.').pop()) {
|
||||
case 'md':
|
||||
return 'markdown';
|
||||
case 'css':
|
||||
return 'css';
|
||||
case 'js':
|
||||
return 'javascript';
|
||||
case 'xml':
|
||||
case 'svg':
|
||||
return 'xml';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Open a file by name.
|
||||
* @param name The file to open.
|
||||
@@ -1612,6 +1631,7 @@ function openFile(name) {
|
||||
: cm6.EditorState.create({doc: '', extensions: cm6.extensions});
|
||||
let oldDoc = g_editor.state;
|
||||
g_editor.setState(newDoc);
|
||||
cm6.setEditorMode(g_editor, modeFromName(name));
|
||||
|
||||
if (g_files[g_current_file]) {
|
||||
g_files[g_current_file].doc = oldDoc;
|
||||
|
||||
Reference in New Issue
Block a user