Skip to content

Commits on Feb 10, 2021

Commits on Feb 5, 2021

  1. [vim] Avoid using innerHTML in dialogs/prompts (#6581)

    To work around a limitiation present when running in Firefox Developer Tools.
    benhormann committed Feb 5, 2021

Commits on Jan 15, 2021

  1. [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.
    thiemowmde committed Jan 15, 2021

Commits on Jan 8, 2021

  1. Fix various spelling mistakes

    * 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>
    jsoref committed Jan 8, 2021

Commits on Sep 13, 2020

  1. Add vim emulation support for gn and gN.

    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.
    howardjing authored and marijnh committed Sep 13, 2020

Commits on Sep 1, 2020

  1. [vim] Add black hole register

    benhormann authored and marijnh committed Sep 1, 2020

Commits on Jul 23, 2020

  1. [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.
    howardjing committed Jul 23, 2020

Commits on May 15, 2020

Commits on Mar 25, 2020

  1. [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.
    achur authored and marijnh committed Mar 25, 2020
  2. [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.
    achur authored and marijnh committed Mar 25, 2020

Commits on Mar 18, 2020

Commits on Jan 12, 2020

  1. [vim] implement gi gI gJ

    nightwing authored and marijnh committed Jan 12, 2020
  2. [vim] fix behavior of ' and ` marks

    nightwing authored and marijnh committed Jan 12, 2020
  3. [vim] fix R key in visual mode

    nightwing authored and marijnh committed Jan 12, 2020

Commits on Nov 19, 2019

Commits on Jun 18, 2019

  1. [vim] throttle highlightSearchMatches

    This should prevent it from falling behind trying to highlight previous queries while you're typing.
    alur authored and marijnh committed Jun 18, 2019

Commits on May 14, 2019

  1. [vim] fix blockwise yank

    nightwing authored and marijnh committed May 14, 2019

Commits on May 10, 2019

  1. [vim] fix fat cursor staying after O

    nightwing authored and marijnh committed May 10, 2019

Commits on May 7, 2019

  1. [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
    evanminsk authored and marijnh committed May 7, 2019
  2. [vim] add support for ` text object

    nightwing authored and marijnh committed May 7, 2019

Commits on Mar 6, 2019

  1. [vim bindings] Only scan for <> when matching angle brackets

    To avoid treating <> as brackets when they aren't used as such
    heppe authored and marijnh committed Mar 6, 2019

Commits on Feb 18, 2019

  1. [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.
    bobbydavid authored and marijnh committed Feb 18, 2019
Older