diff --git a/demo/docs/latex.tex b/demo/docs/latex.tex new file mode 100644 index 00000000..1427168a --- /dev/null +++ b/demo/docs/latex.tex @@ -0,0 +1,22 @@ +\usepackage{amsmath} +\title{\LaTeX} +\date{} +\begin{document} + \maketitle + \LaTeX{} is a document preparation system for the \TeX{} + typesetting program. It offers programmable desktop publishing + features and extensive facilities for automating most aspects of + typesetting and desktop publishing, including numbering and + cross-referencing, tables and figures, page layout, bibliographies, + and much more. \LaTeX{} was originally written in 1984 by Leslie + Lamport and has become the dominant method for using \TeX; few + people write in plain \TeX{} anymore. The current version is + \LaTeXe. + + % This is a comment; it will not be shown in the final output. + % The following shows a little of the typesetting power of LaTeX: + \begin{align} + E &= mc^2 \\ + m &= \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}} + \end{align} +\end{document} \ No newline at end of file diff --git a/lib/ace/mode/latex_highlight_rules.js b/lib/ace/mode/latex_highlight_rules.js index 76a6ca90..ad1cdef4 100644 --- a/lib/ace/mode/latex_highlight_rules.js +++ b/lib/ace/mode/latex_highlight_rules.js @@ -6,29 +6,28 @@ var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightR var LatexHighlightRules = function() { this.$rules = { - "start" : [ - { - // A tex command e.g. \foo - token : "keyword", - regex : "\\\\(?:[^a-zA-Z]|[a-zA-Z]+)", - }, - { - // Curly and square braces - token : "keyword", - regex : "[\\{\\}\\]\\[]" - }, - { - // Inline math between two $ symbols - token : "string", - regex : "\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$" - }, - { - // A comment. Tex comments start with % and go to - // the end of the line - token : "comment", - regex : "%.*$" - } - ] + "start" : [{ + // A tex command e.g. \foo + token : "keyword", + regex : "\\\\(?:[^a-zA-Z]|[a-zA-Z]+)", + }, { + // Curly and square braces + token : "lparen", + regex : "[[({]" + }, { + // Curly and square braces + token : "rparen", + regex : "[\\])}]" + }, { + // Inline math between two $ symbols + token : "string", + regex : "\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$" + }, { + // A comment. Tex comments start with % and go to + // the end of the line + token : "comment", + regex : "%.*$" + }] }; };