Skip to content

Commit 7e1596d

Browse files
committed
refactor code duplication
1 parent 67bba04 commit 7e1596d

File tree

4 files changed

+20
-48
lines changed

4 files changed

+20
-48
lines changed

browser/components/CodeEditor.js

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import _ from 'lodash'
44
import CodeMirror from 'codemirror'
55
import 'codemirror-mode-elixir'
66
import attachmentManagement from 'browser/main/lib/dataApi/attachmentManagement'
7+
import convertModeName from 'browser/lib/convertModeName'
78
import eventEmitter from 'browser/main/lib/eventEmitter'
89
import iconv from 'iconv-lite'
910

@@ -15,21 +16,6 @@ const defaultEditorFontFamily = ['Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', '
1516
const buildCMRulers = (rulers, enableRulers) =>
1617
enableRulers ? rulers.map(ruler => ({ column: ruler })) : []
1718

18-
function pass (name) {
19-
switch (name) {
20-
case 'ejs':
21-
return 'Embedded Javascript'
22-
case 'html_ruby':
23-
return 'Embedded Ruby'
24-
case 'objectivec':
25-
return 'Objective C'
26-
case 'text':
27-
return 'Plain Text'
28-
default:
29-
return name
30-
}
31-
}
32-
3319
export default class CodeEditor extends React.Component {
3420
constructor (props) {
3521
super(props)
@@ -229,7 +215,7 @@ export default class CodeEditor extends React.Component {
229215
}
230216

231217
setMode (mode) {
232-
let syntax = CodeMirror.findModeByName(pass(mode))
218+
let syntax = CodeMirror.findModeByName(convertModeName(mode))
233219
if (syntax == null) syntax = CodeMirror.findModeByName('Plain Text')
234220

235221
this.editor.setOption('mode', syntax.mime)

browser/components/MarkdownPreview.js

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import flowchart from 'flowchart'
1010
import SequenceDiagram from 'js-sequence-diagrams'
1111
import eventEmitter from 'browser/main/lib/eventEmitter'
1212
import htmlTextHelper from 'browser/lib/htmlTextHelper'
13+
import convertModeName from 'browser/lib/convertModeName'
1314
import copy from 'copy-to-clipboard'
1415
import mdurl from 'mdurl'
1516
import exportNote from 'browser/main/lib/dataApi/exportNote'
@@ -122,21 +123,6 @@ if (!OSX) {
122123
defaultFontFamily.unshift('meiryo')
123124
}
124125
const defaultCodeBlockFontFamily = ['Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', 'monospace']
125-
126-
function pass (name) {
127-
switch (name) {
128-
case 'ejs':
129-
return 'Embedded Javascript'
130-
case 'html_ruby':
131-
return 'Embedded Ruby'
132-
case 'objectivec':
133-
return 'Objective C'
134-
case 'text':
135-
return 'Plain Text'
136-
default:
137-
return name
138-
}
139-
}
140126
export default class MarkdownPreview extends React.Component {
141127
constructor (props) {
142128
super(props)
@@ -444,7 +430,7 @@ export default class MarkdownPreview extends React.Component {
444430
: 'default'
445431

446432
_.forEach(this.refs.root.contentWindow.document.querySelectorAll('.code code'), (el) => {
447-
let syntax = CodeMirror.findModeByName(pass(el.className))
433+
let syntax = CodeMirror.findModeByName(convertModeName(el.className))
448434
if (syntax == null) syntax = CodeMirror.findModeByName('Plain Text')
449435
CodeMirror.requireMode(syntax.mode, () => {
450436
const content = htmlTextHelper.decodeEntities(el.innerHTML)

browser/lib/convertModeName.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export default function convertModeName (name) {
2+
switch (name) {
3+
case 'ejs':
4+
return 'Embedded Javascript'
5+
case 'html_ruby':
6+
return 'Embedded Ruby'
7+
case 'objectivec':
8+
return 'Objective C'
9+
case 'text':
10+
return 'Plain Text'
11+
default:
12+
return name
13+
}
14+
}

browser/main/Detail/SnippetNoteDetail.js

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import context from 'browser/lib/context'
1818
import ConfigManager from 'browser/main/lib/ConfigManager'
1919
import _ from 'lodash'
2020
import {findNoteTitle} from 'browser/lib/findNoteTitle'
21+
import convertModeName from 'browser/lib/convertModeName'
2122
import AwsMobileAnalyticsConfig from 'browser/main/lib/AwsMobileAnalyticsConfig'
2223
import TrashButton from './TrashButton'
2324
import RestoreButton from './RestoreButton'
@@ -29,21 +30,6 @@ import { formatDate } from 'browser/lib/date-formatter'
2930
import i18n from 'browser/lib/i18n'
3031
import { confirmDeleteNote } from 'browser/lib/confirmDeleteNote'
3132

32-
function pass (name) {
33-
switch (name) {
34-
case 'ejs':
35-
return 'Embedded Javascript'
36-
case 'html_ruby':
37-
return 'Embedded Ruby'
38-
case 'objectivec':
39-
return 'Objective C'
40-
case 'text':
41-
return 'Plain Text'
42-
default:
43-
return name
44-
}
45-
}
46-
4733
const electron = require('electron')
4834
const { remote } = electron
4935
const { Menu, MenuItem, dialog } = remote
@@ -677,7 +663,7 @@ class SnippetNoteDetail extends React.Component {
677663
const viewList = note.snippets.map((snippet, index) => {
678664
const isActive = this.state.snippetIndex === index
679665

680-
let syntax = CodeMirror.findModeByName(pass(snippet.mode))
666+
let syntax = CodeMirror.findModeByName(convertModeName(snippet.mode))
681667
if (syntax == null) syntax = CodeMirror.findModeByName('Plain Text')
682668

683669
return <div styleName='tabView'

0 commit comments

Comments
 (0)