diff options
author | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2018-08-03 16:24:26 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-10-13 03:17:30 +0300 |
commit | 399056ed783e12337a9c47b06b4aae021198f1cd (patch) | |
tree | 21645fa92b300735c5431608e17f3e34b34ce653 /app/assets/javascripts/blob_edit | |
parent | a5ecb5bbdac05c3b1a96ecb918ce6a4ceed37d75 (diff) |
Remove dependencies on Linguist
This saves about 128 MB of baseline RAM usage per Unicorn and
Sidekiq process (!).
Linguist wasn't detecting languages anymore from CE/EE since
9ae8b57467ac8b38f1fa9020a466d94a93cbb9dd. However, Linguist::BlobHelper
was still being depended on by BlobLike and others.
This removes the Linguist gem, given it isn't required anymore.
EscapeUtils were pulled in as dependency, but given Banzai depends on
it, it is now added explicitly.
Previously, Linguist was used to detect the best ACE mode. Instead,
we rely on ACE to guess the best mode based on the file extension.
Diffstat (limited to 'app/assets/javascripts/blob_edit')
-rw-r--r-- | app/assets/javascripts/blob_edit/blob_bundle.js | 4 | ||||
-rw-r--r-- | app/assets/javascripts/blob_edit/edit_blob.js | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/app/assets/javascripts/blob_edit/blob_bundle.js b/app/assets/javascripts/blob_edit/blob_bundle.js index 4e4598870fa..3cc89ff1955 100644 --- a/app/assets/javascripts/blob_edit/blob_bundle.js +++ b/app/assets/javascripts/blob_edit/blob_bundle.js @@ -13,11 +13,11 @@ export default () => { if (editBlobForm.length) { const urlRoot = editBlobForm.data('relativeUrlRoot'); const assetsPath = editBlobForm.data('assetsPrefix'); - const blobLanguage = editBlobForm.data('blobLanguage'); + const filePath = editBlobForm.data('blobFilename') const currentAction = $('.js-file-title').data('currentAction'); const projectId = editBlobForm.data('project-id'); - new EditBlob(`${urlRoot}${assetsPath}`, blobLanguage, currentAction, projectId); + new EditBlob(`${urlRoot}${assetsPath}`, filePath, currentAction, projectId); new NewCommitForm(editBlobForm); } diff --git a/app/assets/javascripts/blob_edit/edit_blob.js b/app/assets/javascripts/blob_edit/edit_blob.js index ec2b130ab7d..6e19548eed2 100644 --- a/app/assets/javascripts/blob_edit/edit_blob.js +++ b/app/assets/javascripts/blob_edit/edit_blob.js @@ -5,6 +5,7 @@ import axios from '~/lib/utils/axios_utils'; import createFlash from '~/flash'; import { __ } from '~/locale'; import TemplateSelectorMediator from '../blob/file_template_mediator'; +import getModeByFileExtension from '~/lib/utils/ace_utils'; export default class EditBlob { constructor(assetsPath, aceMode, currentAction, projectId) { @@ -14,9 +15,10 @@ export default class EditBlob { this.initFileSelectors(currentAction, projectId); } - configureAceEditor(aceMode, assetsPath) { + configureAceEditor(filePath, assetsPath) { ace.config.set('modePath', `${assetsPath}/ace`); ace.config.loadModule('ace/ext/searchbox'); + ace.config.loadModule('ace/ext/modelist'); this.editor = ace.edit('editor'); @@ -25,8 +27,8 @@ export default class EditBlob { this.editor.focus(); - if (aceMode) { - this.editor.getSession().setMode(`ace/mode/${aceMode}`); + if (filePath) { + this.editor.getSession().setMode(getModeByFileExtension(filePath)); } } |