Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: codemirror/CodeMirror
base: v2.33
head fork: codemirror/CodeMirror
compare: v2.34
Commits on Aug 23, 2012
Marijn Haverbeke marijnh Remove unused function from codemirror.js 24eb80b
Marijn Haverbeke marijnh Remove check that is redundant now that we no longer use innerHTML 2bf62ac
Commits on Aug 24, 2012
Marijn Haverbeke marijnh Fix typo in setting drag image
Though it doesn't seem to have any observable effect on Chrome.

@peterkroon Where does the image actually show up?
Commits on Aug 27, 2012
Peter Kroon peterkroon Remove src attribute from dummy image
When dragging there is no src attribute needed on the dummy image.
Marijn Haverbeke marijnh Feature-detect setDragImage method 14bf21c
Marijn Haverbeke marijnh [htmlmixed mode] Make it harder to throw off close-tag finder
Closes #751
Commits on Aug 28, 2012
Marijn Haverbeke marijnh [clojure mode] Count words starting with def or with as 'indenting ke…

Closes #753
Commits on Aug 29, 2012
Marijn Haverbeke marijnh Make StringStream.match return null when the match isn't at current p…

Closes #761
Marijn Haverbeke marijnh Make right-click select-all work on some browsers
The hack is horrible, but it seems to do the trick.

Also simplifies context-menu handling somewhat.

Issue #755
Marijn Haverbeke marijnh Add a .INI mode c565edc
Commits on Aug 30, 2012
Marijn Haverbeke marijnh Revert "Add a .INI mode"
It turns out the properties mode already handles .ini files just fine.

This reverts commit 9afd96d94d65e27329887d16e8e2cd7f6ffed1d6.
Commits on Aug 31, 2012
Marijn Haverbeke marijnh Fix assumption that StringStream.peek returns a string
Closes #776
Marijn Haverbeke marijnh Save overhead of operation when polling doesn't find a change 6ba2481
Marijn Haverbeke marijnh Simplify line content-node API, get rid of makeTab indirection a2257ba
Marijn Haverbeke marijnh Change the way highlighting information is updated
 - Background parsing now never goes past the visible part of the

 - We only store style information for lines that are actually visible
   (and then keep it cached).

 - When the document changes, background highlighting always
   re-highlights from the change to the end of the visible part.

 - Gets rid of compareState mode methods and the hairy heuristic that
   tried to simulate it when absent.

 - The onHighlightComplete callback was removed, since it no longer
   really applies -- the document is only fully parsed when scrolled
   to its end.

This should help preserve memory (a huge document will no longer
immediately have parser state and highlighting information built up
for all lines, but only for the parts that you look at), and removes
the pathological case when you, for example, are typing at the top of
a huge XML document, and opening or closing a tag causes a whole
re-highlight to cascade all the way to the bottom because the
compareState will detect a change.

Issue #688
Marijn Haverbeke marijnh Remove unused function copyStyles ee16009
Commits on Sep 03, 2012
Brandon Frohs bfrohs Add highlighting tests for Markdown mode. 0cae19e
Marijn Haverbeke marijnh [vim keymap] Reset keymap after YY is pressed
Closes #774
Marijn Haverbeke marijnh Remove obsolete before_script section in .travis.yml 5bc1e89
Brandon Frohs bfrohs [clojure mode] Check if +/- is immediately followed by digit before m…
…arking as leading sign

Closes #782

Correct highlighting for the following code snippet should highlight the + as an operator, and each 2 as a number (taken from

    (is (= 4 (+ 2 2)))
Marijn Haverbeke marijnh Tweak context menu hack to make select-all reliable on FF
Issue #755
Marijn Haverbeke marijnh Fix corruption of operation data introduced by 6ba2481 4ac5b7a
Marijn Haverbeke marijnh Add CodeMirror.version to API aeccaf5
Marijn Haverbeke marijnh Remove accidentally committed conflict junk 79fa0bd
Commits on Sep 04, 2012
Marijn Haverbeke marijnh [shell mode] Fix unsafe use of object
Parsing the word constructor would look up words["constructor"], and
return Object.prototype.constructor instead of a style string.

Closes #793
Brandon Frohs bfrohs [markdown mode] Improvements to parsing and tester
(Squashed commit. Below are the original commit messages:)

- Add highlighting test for Markdown for consecutive backticks.

- Make it possible to wrap inline code in multiple backticks.

- Add highlighting test for Markdown mode to only allow a single space
  to separate brackets.

- Make it possible to separate bracket groups with a space.

- Allow for horizontal rules to use dashes.

- Allow for *any* number of -'s or ='s for setex headers.

- Remove requirement that the text for setext headers have to be

- Might revisit someday to work on this, but in the meantime, it's
  better to prevent regressions than to be picky about what would be
  highlighted in an ideal world.

- Correctly match single line footnotes with title.

- Match inline links in Markdown mode.

- Don't match unclosed code blocks.

- Get mode test highlighter in line with CodeMirror.highlight().

- It would be nice to use all native functions, to avoid having to update this manually each time.

- Fix tests per fixes made to mode test highlighter.

- Properly handle multiple classes for mode tests.

- More correct handling of EM and STRONG in Markdown mode.

  Per Markdown documentation: "You can use whichever style you prefer;
  the lone restriction is that the same character must be used to open
  and close an emphasis span." # This is the 15th commit message:

- Allow escaping of * and _ by surrounding with spaces.

  Per Markdown documentation:

  "But if you surround an * or _ with spaces, it’ll be treated as a
  literal asterisk or underscore."

- More correct support for inline code blocks.

- Adjust Markdown highlighting tests to fit readability, rather than
  100% conformance with Markdown documentation.

  Although unclosed italics, bold, and inline code would not be
  formatted by a Markdown parser, it is extremely helpful to have the
  styles added even when it is not yet closed. It may be a good idea
  to add an 'incomplete' flag for each at some point, in order to
  style it (and mark it) as different. Perhaps piggyback off of
Commits on Sep 05, 2012
Brandon Frohs bfrohs [markdown mode] More improvements to parsing and tester.
Markdown mode

- Add additional link tests and correctly match link titles on next

- Adjust tests code so sections (including "Basics") can be rearranged
  and removed easily without breaking the script.

- Add tests and fix highlighting for lists.

Test harness

- Sort styles in mode test script so "quote string" = "string quote".
Brandon Frohs bfrohs Prevent logo from causing a horizontal scrollbar at smaller viewport …

This was especially noticeable with non-default font-sizes. The wrapper div and additional pre are required due to using the font-size provided by the browser (using em throughout).
Commits on Sep 07, 2012
Brandon Frohs bfrohs Fully integrate mode tests into main test harness, with extra features.
- Integrated stex and Markdown mode tests into main test harness

- Added ability to restart tests partway through

- Added verbose option, to add message to output for *every* test

- Added ability to show verbose messages and run specific tests or all tests for 1+ mode(s) via location.hash

- Added support for custom messages (either return value [pass] or throw value [fail])

- Switched away from .innerHTML, .write(), etc in most places

- Make the progress bar actually 0px wide when 0% complete (and still keep padding)

- Added link to tests from each mode's demo page
Marijn Haverbeke marijnh Stop creating unused CodeMirror instances in mode tests b306f7c
Marijn Haverbeke marijnh Don't wait 50 ms between tests
There are now enough tests to make this take a serious amount of time.

A 0 timeout seems to work just as well.
Brandon Frohs bfrohs Prevent tests from locking up browser on slower machines (closes #805). fafa9d2
Marijn Haverbeke marijnh Fix a number of ECMA-5-isms in the test runner
We do still support IE7/8.

Also removes some non-CodeMirror-code-style things like left-aligned
commas and semicolons.
Brandon Frohs bfrohs A few small improvements to the test suite:
- Move unchanging styles for #progress to style sheet

- Forgot to update testCM() when I added the `verbose` option
Daniel dagsta Extend closetag to work with html / PHP Mixed Code
I just added support for closing Tags inside a file in "application/x-httpd-php" Mode including HTML Code
Marijn Haverbeke marijnh [util/closetag] Clean up handling of different modes 1cea077
Marijn Haverbeke marijnh [util/closetag] Fix problem introduced by previous patch 2d38a15
Commits on Sep 10, 2012
Brandon Frohs bfrohs Reset `verbose` flag when running tests. ba11716
Brandon Frohs bfrohs Fix bug with duplicate test names starting out at the wrong number.
If two tests have the name "foo", the second should appear as "foo_2", but instead it appeared as "foo_3".
Brandon Frohs bfrohs Add a text-shadow behind test progress text so it's readable while th…
…e progress bar hasn't passed yet.
Brandon Frohs bfrohs Add tests for CSS mode and fixed found bugs
- Added link to tests on mode page
- More consistent naming with CSS spec (some of the previous var naming was completely incorrect/misleading)
- Improved highlighting
  - Match vendor prefixes
  - Check for known properties and values (known properties are bold, unknown are not)
  - Added highlighting for media queries
- Cleaner stacking of state
Marijn Haverbeke marijnh [css mode] Partially move back to old look fdfba6d
Marijn Haverbeke marijnh On Webkit, add file/line no to test failures caused by errors 328780d
Marijn Haverbeke marijnh Make undo/redo preserve text markers and bookmarks
Cleans up the implementation of marked ranges, makes the data
structure for markers-within-a-line persistant, and attaches them to
the lines stored in the undo history when necessary.

Closes #675
Marijn Haverbeke marijnh Introduce a lst() function to reduce arr[arr.length-1] noise 9a7a53c
Marijn Haverbeke marijnh Downcase package name in package.json d00082a
Marijn Haverbeke marijnh Add a Common Lisp mode f23da64
Marijn Haverbeke marijnh [commonlisp mode] Fix accidental global db012e8
Marijn Haverbeke marijnh [commonlisp mode] Various small fixes 8556412
Marijn Haverbeke marijnh Add node.js-capable runMode implementation 53b6852
Marijn Haverbeke marijnh Further minimize runmode-standalone.js, fix failing build 4ec75a9
Commits on Sep 11, 2012
Marijn Haverbeke marijnh Add startStyle and endStyle options for markers
Closes #819
Commits on Sep 12, 2012
Marijn Haverbeke marijnh Add new state introspection mechanism for nested modes
And move closetag over to it.

This makes the code that gets the XML state out of the mode actually
sound and extensible.

Issue #820
Marijn Haverbeke marijnh [util/formatting] Move over to new mode extension/introspection
This makes the formatter easier to adjust to new mode, and
cleans it up somewhat.
Marijn Haverbeke marijnh [util/formatting] Fix a bunch of bugs
That's what you get when you test with the published version,
rather than the one you're actually editing.
Marijn Haverbeke marijnh Add NoTex to real-world uses 95b5962
Commits on Sep 17, 2012
Brandon Frohs bfrohs Fix formatting demo's "[Un]Comment Selected" functionality (closes #826
Marijn Haverbeke marijnh [javascript mode] Fix variable-scope-restoration 275d6ed
Marijn Haverbeke marijnh [util/simple-hint] Capture pageup/pagedown keys 52cfc2e
Commits on Sep 18, 2012
Marijn Haverbeke marijnh [vb mode] Highlight Try/Catch keywords af77559
Marijn Haverbeke marijnh Make output of getHistory JSON-serializable again 949bcc4
Marijn Haverbeke marijnh Flip ctrlKey and metaKey properties on Opera Mac
I don't know what they were thinking, but this, on
recent Opera versions, seems to give the correct

Closes #10
Commits on Sep 19, 2012
Marijn Haverbeke marijnh [commonlisp mode] Fix bug in context management da3a289
Marijn Haverbeke marijnh Mark release 2.34 fc17d2d