From b4e138e21bde4a3b84d72a8ba1305cfaf53b8847 Mon Sep 17 00:00:00 2001 From: Anthony Graham Date: Mon, 1 Jan 2018 14:20:23 +0000 Subject: [PATCH] Elixir Syntax Highlighting --- browser/components/CodeEditor.js | 1 + browser/components/MarkdownPreview.js | 1 + browser/finder/NoteDetail.js | 1 + browser/lib/customMeta.js | 2 ++ browser/main/Detail/SnippetNoteDetail.js | 3 ++- browser/main/modals/PreferencesModal/UiTab.js | 1 + lib/finder.html | 1 + lib/main.html | 1 + package.json | 1 + 9 files changed, 11 insertions(+), 1 deletion(-) diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index b5e06a66..a6a96a74 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -2,6 +2,7 @@ import PropTypes from 'prop-types' import React from 'react' import _ from 'lodash' import CodeMirror from 'codemirror' +import 'codemirror-mode-elixir' import path from 'path' import copyImage from 'browser/main/lib/dataApi/copyImage' import { findStorage } from 'browser/lib/findStorage' diff --git a/browser/components/MarkdownPreview.js b/browser/components/MarkdownPreview.js index 06354b37..c1be9ef1 100644 --- a/browser/components/MarkdownPreview.js +++ b/browser/components/MarkdownPreview.js @@ -3,6 +3,7 @@ import React from 'react' import markdown from 'browser/lib/markdown' import _ from 'lodash' import CodeMirror from 'codemirror' +import 'codemirror-mode-elixir' import consts from 'browser/lib/consts' import Raphael from 'raphael' import flowchart from 'flowchart' diff --git a/browser/finder/NoteDetail.js b/browser/finder/NoteDetail.js index 4c59ea30..3b9121d7 100644 --- a/browser/finder/NoteDetail.js +++ b/browser/finder/NoteDetail.js @@ -5,6 +5,7 @@ import MarkdownPreview from 'browser/components/MarkdownPreview' import MarkdownEditor from 'browser/components/MarkdownEditor' import CodeEditor from 'browser/components/CodeEditor' import CodeMirror from 'codemirror' +import 'codemirror-mode-elixir' import { findStorage } from 'browser/lib/findStorage' const electron = require('electron') diff --git a/browser/lib/customMeta.js b/browser/lib/customMeta.js index 855e00af..0d4ee1e3 100644 --- a/browser/lib/customMeta.js +++ b/browser/lib/customMeta.js @@ -1,3 +1,5 @@ import CodeMirror from 'codemirror' +import 'codemirror-mode-elixir' CodeMirror.modeInfo.push({name: 'Stylus', mime: 'text/x-styl', mode: 'stylus', ext: ['styl'], alias: ['styl']}) +CodeMirror.modeInfo.push({name: 'Elixir', mime: 'text/x-elixir', mode: 'elixir', ext: ['ex']}) diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 5a346fc7..218b4f87 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -11,6 +11,7 @@ import dataApi from 'browser/main/lib/dataApi' import { hashHistory } from 'react-router' import ee from 'browser/main/lib/eventEmitter' import CodeMirror from 'codemirror' +import 'codemirror-mode-elixir' import SnippetTab from 'browser/components/SnippetTab' import StatusBar from '../StatusBar' import context from 'browser/lib/context' @@ -380,7 +381,7 @@ class SnippetNoteDetail extends React.Component { handleModeButtonClick (e, index) { const menu = new Menu() - CodeMirror.modeInfo.forEach((mode) => { + CodeMirror.modeInfo.sort(function (a, b) { return a.name.localeCompare(b.name) }).forEach((mode) => { menu.append(new MenuItem({ label: mode.name, click: (e) => this.handleModeOptionClick(index, mode.name)(e) diff --git a/browser/main/modals/PreferencesModal/UiTab.js b/browser/main/modals/PreferencesModal/UiTab.js index a1bab45b..c79329d0 100644 --- a/browser/main/modals/PreferencesModal/UiTab.js +++ b/browser/main/modals/PreferencesModal/UiTab.js @@ -7,6 +7,7 @@ import store from 'browser/main/store' import consts from 'browser/lib/consts' import ReactCodeMirror from 'react-codemirror' import CodeMirror from 'codemirror' +import 'codemirror-mode-elixir' import _ from 'lodash' const OSX = global.process.platform === 'darwin' diff --git a/lib/finder.html b/lib/finder.html index f0ac3df5..c6ad502e 100644 --- a/lib/finder.html +++ b/lib/finder.html @@ -28,6 +28,7 @@ + diff --git a/lib/main.html b/lib/main.html index 69a47900..d7936628 100644 --- a/lib/main.html +++ b/lib/main.html @@ -69,6 +69,7 @@ + diff --git a/package.json b/package.json index 0b16a7ab..f38e8958 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "aws-sdk": "^2.48.0", "aws-sdk-mobile-analytics": "^0.9.2", "codemirror": "^5.19.0", + "codemirror-mode-elixir": "^1.1.1", "electron-config": "^0.2.1", "electron-gh-releases": "^2.0.2", "flowchart.js": "^1.6.5",