From 8887ab78c0d9648cf7e12a1fd8760c066e5ec4bc Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Thu, 27 Oct 2016 15:26:46 +0100 Subject: [PATCH] improve ace mode recognition --- .../ide/editor/directives/aceEditor.coffee | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/services/web/public/coffee/ide/editor/directives/aceEditor.coffee b/services/web/public/coffee/ide/editor/directives/aceEditor.coffee index 0fdb806e83..1a573cc91e 100644 --- a/services/web/public/coffee/ide/editor/directives/aceEditor.coffee +++ b/services/web/public/coffee/ide/editor/directives/aceEditor.coffee @@ -231,9 +231,21 @@ define [ # see if we can lookup a suitable mode from ace # but fall back to text by default try - mode = ModeList.getModeForPath(scope.fileName).mode + if scope.fileName.match(/\.(Rtex|bbl)$/i) + # recognise Rtex and bbl as latex + mode = "ace/mode/latex" + else if scope.fileName.match(/\.(sty|cls|clo)$/) + # recognise some common files as tex + mode = "ace/mode/tex" + else + mode = ModeList.getModeForPath(scope.fileName).mode + # we prefer plain_text mode over text mode because ace's + # text mode is actually for code and has unwanted + # indenting (see wrapMethod in ace edit_session.js) + if mode is "ace/mode/text" + mode = "ace/mode/plain_text" catch - mode = "ace/mode/text" + mode = "ace/mode/plain_text" # create our new session session = new EditSession(lines, mode)