codemirror / CodeMirror Public
Commits on Feb 20, 2021
Commits on Feb 18, 2021
Commits on Feb 10, 2021
Commits on Feb 5, 2021
-
[vim] Avoid using innerHTML in dialogs/prompts (#6581)
To work around a limitiation present when running in Firefox Developer Tools.
Commits on Jan 15, 2021
-
[various modes] Add missing ^ anchors to StringStream.match() as opti…
…mization The method fails anyway (i.e. it acts as if there was no match) when the match is not at the start of the string. Adding the anchor does not change any behavior, but increases performance.
Commits on Jan 8, 2021
-
* spelling: across Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: advise Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: aframework Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: after Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: alphanumeric Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: anyway Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: async Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: available Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: backticks Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: behavior Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: bracket Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: cacheable Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: characters Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: completeable Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: data Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: definition Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: different Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: do not Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: duplicate Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: e.g. Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: entities Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: expression-in Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: extract Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: feedback Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: filesystem Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: function Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: github Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: height Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: highlighted Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: i'm Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: identifier Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: immediately Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: in case Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: indentation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: independent Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: initial Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: interchangeable Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: interruptible Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: interviews Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: intrinsic Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: javascript Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: label Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: matching Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: misbehavior Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: number Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: numbered Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: occurrences Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: repeatedly Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: separator Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: string Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: styleable Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: textarea Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: texture Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: useful Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: whenever Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: wikipedia Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Commits on Sep 13, 2020
-
Add vim emulation support for
gnandgN.If we are given the following snippet of text: ``` A green green sky. _ ``` We can search for the word "green" with `/green`, and then use `gn` to select the next occurrence of "green" in visual mode. ``` A green green sky. ----- ``` Alternatively, we can use `cgn` and then enter the word "blue" to change the word "green" to "blue". ``` A blue green sky. ``` Then we can use the `.` operator to repeat the change: ``` A blue blue sky. ``` Addresses #3851.
Commits on Sep 1, 2020
Commits on Jul 23, 2020
-
[vim bindings] Support tag text objects in xml / htmlmixed mode
User can use `t` to operate on tag text objects. For example, given the following html: ``` <div> <span>hello world!</span> </div> ``` If the user's cursor (denoted by █) is inside "hello world!": ``` <div> <span>hello█world!</span> </div> ``` And they enter `dit` (delete inner tag), then the text inside the enclosing tag is deleted -- the following is the expected result: ``` <div> <span></span> </div> ``` If they enter `dat` (delete around tag), then the surrounding tags are deleted as well: ``` <div> </div> ``` This logic depends on the following: - mode/xml/xml.js - addon/fold/xml-fold.js - editor is in htmlmixedmode / xml mode Caveats This is _NOT_ a 100% accurate implementation of vim tag text objects. For example, the following cases noop / are inconsistent with vim behavior: - Does not work inside comments: ``` <!-- <div>broken</div> --> ``` - Does not work when tags have different cases: ``` <div>broken</DIV> ``` - Does not work when inside a broken tag: ``` <div><brok><en></div> ``` This addresses #3828.
Commits on May 29, 2020
Commits on May 15, 2020
Commits on Apr 27, 2020
Commits on Mar 25, 2020
-
[vim keymap] Don't mark fat cursor over EOL.
This fixes a bug where a mouse click to the right of a line results in the cursor apparently over EOL, even though it is actually positioned over line.length-1. Cursor position should display over EOL only in visual or insert modes. Insert mode is handled by default cursor behavior and visual mode is handled by the fake cursor, so we should remove the special cursor EOL handling here and just clip to show the cursor in the right place.
-
[vim keymap] Fix EOL handling in visual mode.
Vim's visual mode allows the cursor to be positioned over EOL. This change fixes a bug where that EOL behavior only worked when in visual block mode.
Commits on Mar 18, 2020
Commits on Jan 12, 2020
Commits on Nov 19, 2019
Commits on Jul 5, 2019
Commits on Jun 18, 2019
-
[vim] throttle highlightSearchMatches
This should prevent it from falling behind trying to highlight previous queries while you're typing.
Commits on May 14, 2019
Commits on May 10, 2019
Commits on May 7, 2019
-
[vim] fix @@ to rerun last run macro (#5868)
`vimGlobalState.macroModeState.latestRegister` was only ever updated when defining a macro. This change updates it when running a macro too so that `@@` actually repeats the last macro as it does in vim
-
-
-
-
Commits on Mar 6, 2019
-
[vim bindings] Only scan for <> when matching angle brackets
To avoid treating <> as brackets when they aren't used as such
Commits on Feb 18, 2019
-
[vim bindings] Add proper emulation for forward-delete
In Vim's command mode, forward-delete (Delete on PC or fn-delete on Mac) should behave the same as 'x': delete the character under the cursor. Due to a bug in CodeMirror's emulation, this wasn't happening before. This change adds the proper support, along with tests for forward-delete.