X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/be4f3d62cd37c7b83eb86bbf5fffa00d20acf2ec..refs/pull/1630/head:/resources/assets/js/services/code.js diff --git a/resources/assets/js/services/code.js b/resources/assets/js/services/code.js index 7e43ab0c6..1e0e48289 100644 --- a/resources/assets/js/services/code.js +++ b/resources/assets/js/services/code.js @@ -1,24 +1,32 @@ -require('codemirror/mode/css/css'); -require('codemirror/mode/clike/clike'); -require('codemirror/mode/diff/diff'); -require('codemirror/mode/go/go'); -require('codemirror/mode/htmlmixed/htmlmixed'); -require('codemirror/mode/javascript/javascript'); -require('codemirror/mode/markdown/markdown'); -require('codemirror/mode/nginx/nginx'); -require('codemirror/mode/php/php'); -require('codemirror/mode/powershell/powershell'); -require('codemirror/mode/python/python'); -require('codemirror/mode/ruby/ruby'); -require('codemirror/mode/shell/shell'); -require('codemirror/mode/sql/sql'); -require('codemirror/mode/toml/toml'); -require('codemirror/mode/xml/xml'); -require('codemirror/mode/yaml/yaml'); +import CodeMirror from "codemirror"; +import Clipboard from "clipboard/dist/clipboard.min"; -const Clipboard = require("clipboard"); +// Modes +import 'codemirror/mode/css/css'; +import 'codemirror/mode/clike/clike'; +import 'codemirror/mode/diff/diff'; +import 'codemirror/mode/go/go'; +import 'codemirror/mode/htmlmixed/htmlmixed'; +import 'codemirror/mode/javascript/javascript'; +import 'codemirror/mode/julia/julia'; +import 'codemirror/mode/lua/lua'; +import 'codemirror/mode/haskell/haskell'; +import 'codemirror/mode/markdown/markdown'; +import 'codemirror/mode/mllike/mllike'; +import 'codemirror/mode/nginx/nginx'; +import 'codemirror/mode/php/php'; +import 'codemirror/mode/powershell/powershell'; +import 'codemirror/mode/python/python'; +import 'codemirror/mode/ruby/ruby'; +import 'codemirror/mode/rust/rust'; +import 'codemirror/mode/shell/shell'; +import 'codemirror/mode/sql/sql'; +import 'codemirror/mode/toml/toml'; +import 'codemirror/mode/xml/xml'; +import 'codemirror/mode/yaml/yaml'; -const CodeMirror = require('codemirror'); +// Addons +import 'codemirror/addon/scroll/scrollpastend'; const modeMap = { css: 'css', @@ -31,25 +39,34 @@ const modeMap = { csharp: 'text/x-csharp', diff: 'diff', go: 'go', + haskell: 'haskell', + hs: 'haskell', html: 'htmlmixed', javascript: 'javascript', json: {name: 'javascript', json: true}, js: 'javascript', - php: 'php', + jl: 'julia', + julia: 'julia', + lua: 'lua', md: 'markdown', mdown: 'markdown', markdown: 'markdown', + ml: 'mllike', nginx: 'nginx', powershell: 'powershell', + ocaml: 'mllike', + php: 'php', py: 'python', python: 'python', ruby: 'ruby', + rust: 'rust', rb: 'ruby', + rs: 'rust', shell: 'shell', sh: 'shell', bash: 'shell', toml: 'toml', - sql: 'sql', + sql: 'text/x-sql', xml: 'xml', yaml: 'yaml', yml: 'yaml', @@ -238,7 +255,8 @@ function markdownEditor(elem) { mode: "markdown", lineNumbers: true, theme: getTheme(), - lineWrapping: true + lineWrapping: true, + scrollPastEnd: true, }); } @@ -251,13 +269,12 @@ function getMetaKey() { return mac ? "Cmd" : "Ctrl"; } -module.exports = { +export default { highlight: highlight, - highlightElem: highlightElem, wysiwygView: wysiwygView, popupEditor: popupEditor, setMode: setMode, setContent: setContent, markdownEditor: markdownEditor, getMetaKey: getMetaKey, -}; \ No newline at end of file +};