Commits on Dec 24, 2014
  1. Version 1.85

    - Use ingo/pos.vim.
    - Use ingo#msg#WarningMsg().
    - Make test for 'virtualedit' option values also account for multiple values. *** You need to update to ingo-library (vimscript #4433) version 1.019! ***
    Ingo Karkat committed with Dec 23, 2014
Commits on Apr 27, 2014
  1. Version 1.84

    - Pin down the 'virtualedit' setting (to "onemore") during CountJump#TextObject#TextObjectWithJumpFunctions() to avoid that a characterwise outer text object that ends at the end of a line includes the line's newline character when 'selection' is "exclusive".
    - FIX: There are no buffer-local functions with a b: scope prefix, and Vim 7.4.264 disallows those invalid function names now. Previously, multiple buffer-local text objects with the same key would override each other. Instead, make the functions created by CountJump#TextObject#MakeWithCountSearch() and CountJump#Region#TextObject#Make() buffer-scoped by prefixing "s:B" and the buffer number.
    Ingo Karkat committed with Apr 25, 2014
Commits on Jan 29, 2014
  1. Version 1.83

    - Use more canonical way of invoking the Funcrefs in CountJump#Motion#MakeBracketMotionWithJumpFunctions(); this will then also work with passed String function names.
    - FIX: Need to save v:count1 before issuing the normal mode "gv" command.
    - Minor: Make substitute() robust against 'ignorecase'.
    - Add optional dependency to ingo-library (vimscript #4433).
    - FIX: In text objects, when the end position is before the begin position, that's not a valid selection. Test for this and abort in that case.
    - For linewise selections, always position the cursor at the start of the end line to be consistent with the built-in text objects, and to avoid complicating the search patterns when attempting to do this through them.
    Ingo Karkat committed with Jan 23, 2014
Commits on Oct 22, 2012
  1. Version 1.81

    - ENH: Add optional a:searchName argument to CountJump#Motion#MakeBracketMotion() to make searches wrap around when 'wrapscan' is set. Custom jump functions can do this since version 1.70; now, this can also be utilized by motions defined via a search pattern.
    - BUG: Wrong variable scope for copied a:isBackward in CountJump#CountSearchWithWrapMessage().
    Ingo Karkat committed with Oct 16, 2012
  2. Version 1.80

    - FIX: In CountJump#TextObject#TextObjectWithJumpFunctions(), do not beep when there's no end position. In this case, the jump function (often CountJump#CountSearch()) should have emitted a beep already, and we want to avoid a double beep.
    - Also handle move to the buffer's very last character in operator-pending mode with a pattern to end "O" motion.
    - Add CountJump#CountJumpFuncWithWrapMessage() / CountJump#CountJumpFunc() to help implement custom motions with only a simple function that performs a single jump.
    - FIX: Visual end pattern / jump to end with 'selection' set to "exclusive" also requires the special additional treatment of moving one right, like operator-pending mode.
    - BUG: Operator-pending motion with end pattern / jump to end operates on one character too few when moving to begin.
    - Clear any previous wrap message when wrapping is enabled; it's confusing otherwise.
    Ingo Karkat committed with Oct 15, 2012
Commits on Sep 13, 2012
  1. Version 1.70

    - ENH: Check for searches wrapping around the buffer and issue a corresponding warning, like the built-in searches do. Though the mappings that can be made with CountJump currently do not use 'wrapscan', other plugins that define their own jump functions and use the CountJump#CountJump() function for it may use it. Create function overloads CountJump#CountJumpWithWrapMessage() and CountJump#CountSearchWithWrapMessage().
    Ingo Karkat committed with Sep 3, 2012
Commits on Apr 8, 2012
  1. Version 1.60

    - ENH: Allow motions that do not start with [ / ] and text objects that do not start with i / a by passing keys that begin with <Plug>. With this, plugins using CountJump can offer the expected customizability.
    Ingo Karkat committed with Mar 27, 2012
Commits on Sep 1, 2011
  1. Version 1.50

    - For regions of lines, also support a match()-like Funcref instead of a pattern to define the range. This for example enables to define a range of diff changes via a predicate function that checks diff_hlID() != 0.
    - Initialize global g:CountJump_Context object for custom use by Funcrefs.
    Ingo Karkat committed with Aug 31, 2011
Commits on Jun 23, 2011
  1. Version 1.41

    FIX: Directly ring the bell to avoid problems when running under :silent!.
    Ingo Karkat committed with Jun 13, 2011
Commits on Dec 20, 2010
  1. Version 1.40

    - ENH: Added CountJump#Region#TextObject#Make() to easily define text objects for regions.
    - Interface change: Jump functions again return position (and actual, corrected one for a:isToEndOfLine). Though the position is not used for motions, it is necessary for text objects to differentiate between "already at the begin/end position" and "no such position".
    Ingo Karkat committed with Dec 20, 2010
  2. Version 1.30

    - ENH: Added CountJump#Region#Motion#MakeBracketMotion() to easily define bracket motions for regions.
    - Interface changes:
      - Jump functions don't necessarily return jump position any more; this special case is only required for text objects.
      - Moved CountJump#Region#Jump() to CountJump#JumpFunc().
      - Added a:isToEndOfLine argument to CountJump#Region#JumpToRegionEnd() and CountJump#Region#JumpToNextRegion(), which is useful for operator-pending and characterwise visual mode mappings; the entire last line will then be operated on / selected.
      - Added a:isMatch argument to CountJump#Region#SearchForRegionEnd(), CountJump#Region#JumpToRegionEnd(), CountJump#Region#SearchForNextRegion(), CountJump#Region#JumpToNextRegion(). This allows definition of regions via non-matches, which can be substantially simpler (and faster to match) than coming up with a "negative" regular expression.
    Ingo Karkat committed with Dec 20, 2010
Commits on Oct 18, 2010
  1. Version 1.22

    - No more motion mappings and text objects for select mode; as the mappings start with a printable character, no select-mode mapping should be defined.
    Ingo Karkat committed with Aug 6, 2010
  2. Version 1.21

    - FIX: A 2]] jump inside a region (unless last line) jumped like a 1]] jump. The search for next region must not decrease the iteration counter when _not_ searching _across_ the region.
    - FIX: Must not do (characterwise) end position adaptation for linewise text object that does not exclude boundaries.
    - Switched example from email fortunes to Pascal begin..end blocks, as they are conceptually easier.
    Ingo Karkat committed with Aug 3, 2010
  3. Version 1.20

    - ENH: In CountJump#Motion#MakeBracketMotion(), a:keyAfterBracket and a:inverseKeyAfterBracket can now be empty, the resulting mappings are then omitted. Likewise, any jump function can be empty in CountJump#Motion#MakeBracketMotionWithJumpFunctions().
    - With the added CountJump#Motion#MakeBracketMotionWithJumpFunctions() motions can be defined via jump functions, similar to how text objects can be defined.
    - Added CountJump/Region.vim to move to borders of a region defined by lines matching a pattern.
    - FIX: CountJump#CountJump() with mode "O" didn't add original position to jump list.
    - The previous visual selection is kept when the text object could not be selected. (Beforehand, a new selection of the text object's selection type was created.)
    - The adjustment movements after the jumps to the text object boundaries now do not cause beeps if that movement cannot be done (e.g. a 'j' at the end of the buffer).
    Ingo Karkat committed with Aug 3, 2010
  4. Version 1.10

    - Changed behavior if there aren't [count] matches: Instead of jumping to the last available match (and ringing the bell), the cursor stays at the original position, like with the old vi-compatible motions.
    - ENH: Only adding to jump list if there actually is a match. This is like the built-in Vim motions work.
    - FIX: For a linewise text object, the end cursor column is not important; do not compare with the original cursor column in this case.
    Ingo Karkat committed with Jul 20, 2010
  5. Version 1.00: Initial upload

    Ingo Karkat committed with Jun 22, 2010