Vrapper / News: Recent posts

0.46.0

If I was sticking closely to my two-month release cycle I would've released last week. However, there weren't too many changes in this release. I also had just fixed a defect and I wanted to make sure my fix solved the problem. Now, a week later, I'm releasing 0.46.0. Here are the changes since the last news post (included in 0.46.0):

  • Changed 'syncmodifiable' to ignore Eclipse's readonly flag by default. This should help some Perforce users.
  • Fixed issue where selecting from the end of the line backwards would skip the last character
  • Fixed issue where Vrapper would stay in VisualMode after Eclipse cleared the selection
  • Fixed issue where a visual selection could jump to the beginning of the next line
  • Fixed issue where Mac command key was ignored. It is now treated as Ctrl.
  • Fixed issue with 'i_Ctrl-Y' after 'A'.
Posted by Kevin 2014-08-09

Updates to unstable update site

Another month, another status update for Vrapper. In the past month, we've made the following changes to the unstable update site:

  • Added support for ':command' to define custom user commands
  • Fixed issue where 'softtabstop' broke multi-character mappings (like 'imap jj <esc>')
  • Fixed issue where you couldn't use unicode characters in .vrapperrc
  • Fixed issue with mapping '0' to something then using counts for a command
  • Fixed issue with 'R' replace mode at the end of a file
  • Fixed issue with using <TAB> in a macro
  • Fixed issue where you couldn't use a space in the right-hand side of a mapping
  • Fixed issue preventing you from mapping '<c-/>' to anything... read more
Posted by Kevin 2014-07-05

0.44.0 Released

It seems we're still sticking with this 2-month release cycle. 0.44.0 has been released and is primarily a bug-fix release with a ton of defects fixed. In addition to last month's list of fixes, 0.44.0 includes the following changes:

  • Fixed XML tag 't' text object to ignore JSP tags
  • Fixed issue where accidentally using XML tag 't' text object in a non-XML file would cause StackOverflowError
  • Fixed issue with multi-character mappings affecting regular commands
  • Fixed issue to keep cursor visible when swapping visual selection sides
  • Fixed issue where named register was sometimes still active after an operation
  • Modified behavior of new "syncmodifiable" property
    • Now a string rather than a boolean, valid values are 'matchreadonly' and 'nosync'
    • 'matchreadonly' will set Vrapper's read-only flag to the state of Eclipse's read-only flag (this is the default)
  • Other miscellaneous improvements of fixes made last month... read more
Posted by Kevin 2014-06-01

Updates to unstable update site

Time for your monthly status update on Vrapper. We've got another long list of changes in the last month since 0.42.0 was released.

First of all, there was a defect in 0.42.0 where the '?' command (reverse search) simply didn't work. I was tempted to release a 0.42.1 with this defect fixed since it seems like such a fundamental feature. However, it actually took a couple weeks for anyone to find it. This tells me that the '?' feature isn't actually used that often. So we've fixed this defect on the unstable update site but I think it can probably wait for 0.44.0 to be in a stable release. If you actually use the '?' feature a lot and noticed it was broken, you'll have to update to the latest unstable build or wait another month to receive the fix. Sorry for breaking such a basic feature.... read more

Posted by Kevin 2014-05-04

0.42.0 Released

It seems springtime brought some new life for Vrapper development after such a slow winter. 0.42.0 has been released and just look at the list of changes made in the last month (included in 0.42.0):

  • Added new plugin for exchange.vim port
  • Added support for 'gvimargs' property
    • Defines args sent to 'gvimpath' for use by :vim command
    • Uses placeholder strings {line}, {col}, and {file}
    • Defaults to: +{line} -c normal zv{col}| -c set nobackup -f -n {file}
  • Added support for 'ad hoc delimiter' m<char>>
    • Based on a Vim patch which has not yet been merged into Vim
    • https://groups.google.com/forum/#!searchin/vim_dev/im$20am/vim_dev/pZxLAAXxk0M/wdOgpOQ05Z8J
    • Use m<char> with i/a to match strings delimited by any arbitrary <char>
    • For example, 'vim*' will select (in VisualMode) the text between two '*' characters
    • Modified methodtextobj.vim plugin to use 'f' rather than 'm' to avoid this collision
  • Added support for '(insert) VISUAL' mode
    • Highlighting text while in InsertMode moves into '(insert) VISUAL' mode for a single visual operation, then returns to InsertMode
  • Added support for ':let @<char>=' to set register contents via command-line
    • Using ':let' ONLY supports setting registers right now
  • Added ability to map '|' character using '<BAR>'
  • Fixed issue with Vrapper not re-initializing when Eclipse re-uses editors
    • For the "Close editors automatically" feature in Eclipse
  • Fixed issue with :eclipseaction from command-line of an editor
  • Fixed issue with :eclipseaction being defined statically for all editors
  • Fixed issue with :surround command in Surround.vim plugin
  • Fixed issue with mappings which use '<' or '>' character
  • Fixed issue with search strings that end in a backslash
  • Fixed issue where :t/:move/:copy were requiring a space after the command (which Vim doesn't require)
  • Fixed issue with map and noremap not including omap
  • Fixed issue with cursor position when exiting visual line mode
  • Fixed issue swapping between beginning and end of a visual selection when Windows line-endings are present
  • Fixed issue where having a visual selection, moving into command-line mode, then hitting <ESC> didn't clear the selection
  • Fixed issue where executing a macro wasn't a single undo-able operation
  • Fixed issue with visually selecting the last character in a file
  • Fixed display issue when restoring a reversed selection
  • Refactored how text objects are defined to better support plugins... read more
Posted by Kevin 2014-04-06

Updates to unstable update site

It's been another slow month but I might as well give an update with the changes to the unstable update site since 0.40.0 released:

  • Added support for '@:' to repeat last command-line command
  • Added support for ':marks' command
  • Added support for ':reg[isters]' command
  • Fixed issue with 'gv' after modifying lines
  • Fixed issue with visual mode editing at the end of a file
Posted by Kevin 2014-03-02

0.40.0 Released

0.40.0 has been released. This release is smaller than most but I'm keeping with my two-month release cycle one more time. The following changes were added since the last status update and are included in 0.40.0:

  • Created new optional plugin for clang-format
  • Added support for ':y[ank] [x]' to yank into register
  • Added support for 'iskeyword' property
  • Added support for ':xa[ll]'
  • Added support for 'startnormalmode' property
    • When true, always start in NormalMode after changing tabs
  • Fixed issue with ';' after 'T'
  • Fixed \c and \C in substitution definitions
  • Fixed issue where <S-Space> wasn't being recognized... read more
Posted by Kevin 2014-02-08

Updates to unstable update site

As I mentioned in my last post, real life has been getting in the way of me spending time with Vrapper. The holidays certainly didn't help things either. This was a slow month for Vrapper but here's your monthly status update. The following changes have been made to the unstable update site:

  • Added support for 'omap' commands
  • Added support for :tabs command
  • Added support for '[[', ']]', '[]', and ']['
  • Fixed issue with 'O' near a blank line with Windows line-endings
  • Fixed issue using counts with mapped keys... read more
Posted by Kevin 2014-01-06

0.38.0 Released

Still sticking with our two-month release cycle, 0.38.0 is now released. Changes since the last status update (included in 0.38.0) are:

  • Added :set contentassistmode
    • Enables <c-n> and <c-p> in content-assist dropdown
    • Use camap to map <c-n> or <c-p> to other keys
  • Added :startinsert command
  • Added 'method text object' optional plugin
  • Fixed issue with chaining vi{i{i{
  • Fixed autocmd when changing tabs
  • Fixed v%
  • Fixed 'dw' on last word of a line with Windows line endings
  • Fixed Alt key handling on keyboards with AltGr
  • Fixed issue with newlines when pasting text... read more
Posted by Kevin 2013-12-08

Updates to unstable update site

It's time for your monthly status update on Vrapper. Here are the current changes on the unstable update site. Please feel free to install the latest build on the unstable update site and let us know if you find any defects.

  • Fixed issue where escaped characters were being skipped with t/f motions
  • Fixed issue with visual block mode starting on an empty line
  • Fixed autocmd on multi-page editors (like XML Editor)
  • Fixed Ctrl+I in NormalMode (and added TAB in NormalMode for the same operation)
  • Added eclipseuiaction for mapping any Eclipse operation that pops up a dialog
  • Added support for [m, ]m, [M, and ]M
  • Added support for :setlocal command
  • Added support for shiftround setting... read more
Posted by Kevin 2013-11-05

0.36.0 Released

In keeping with our two-month release cycle, I have released Vrapper version 0.36.0. There weren't too many changes from last month and they were almost entirely bug fixes. The changes since the last status update (included in 0.36.0) are:

  • Fixed repetition of delimited text
  • Fixed replace mode in macros
  • Fixed Ctrl-H (for backspace) in InsertMode
  • Fixed '\t' in substitution replace
  • Fixed numpad 'return' mapping to 'enter'
  • Fixed incsearch
  • Added support for C pre-processor conditionals with '%'
    • #if, #ifdef, #else, #elif, #endif... read more
Posted by Kevin 2013-10-05

Updates to unstable update site

Time for another monthly status update on Vrapper. Our last release added a lot of new features so this last month has been mostly defect fixing. The occasional new feature or two has been added though. The unstable update site currently includes the following changes from 0.34.1:

  • Fixed issue with 'S', 'cc', 'Vs', and 'Vc' on the last line of a file
  • Fixed issue where ':source' couldn't handle absolute paths
  • Fixed ':eclipseaction!'
  • Fixed Ctrl-R in command-line mode
  • Fixed issue where substitution 'c' confirm would match on a replace
  • Fixed issue with 'i_ctrl-o' followed by ':<command>'
  • Fixed visual block selection on the last line of a file
  • Fixed visual block selection with horizontally scrolled view
  • Added support for 'i_ctrl-t' and 'i_ctrl-d'
  • Added support for 'g~'
  • Added support for '!' in NormalMode
  • Added support for pipe '|' to chain commands
  • Added support for ':move' and ':copy' without a line range definition
  • Added support for ':split <filename>' in Split Editor plugin
  • Refactored sticky column handling
  • Refactored newline handling when pasting text
  • Refactored function keys (F1-F20) mapping
  • Refactored key handling of certain Ctrl keys... read more
Posted by Kevin 2013-09-02

0.34.1 Released

I released 0.34.0 last week and a number of people found defects. One defect in particular (where the cursor would disappear on Linux systems) was major enough to warrant a new release. I've released 0.34.1 with that defect fixed along with a couple others. Changes between 0.34.0 and 0.34.1 are:

  • Fixed issue on Linux systems where cursor would disappear during horizontal movements
  • Fixed issue where <C-[> was ignored
  • Fixed issue where :sort was ignoring selections
  • Fixed 'last insert mark' at the end of a file
  • Fixed HOME and END behavior... read more
Posted by Kevin 2013-08-10

0.34.0 Released

As I mentioned in my previous post, this is a big release for us. This release adds support for the three most-requested features in Vrapper:

  • Split Editor commands (:split, :vplit) via optional plugin
  • Visual Block Mode
  • Confirm 'c' flag in substitutions

There are plenty of other feature requests we can work on but those are the big three that I've heard from the most people. Visual Block Mode still has some quirks moving beyond line endings and dealing with tabs but it should be usable at this point. In addition to those three features, here are the following changes since the last post (included in 0.34.0):... read more

Posted by Kevin 2013-08-04

Updates to unstable update site

It's time for your monthly status update on Vrapper. When I released 0.32.0 last month I mentioned that I received a lot of help from contributors who really knew what they were doing (way more than I do). Those same contributors have been extremely productive this month to the point that I feel like I've been relegated to a Project Manager position. Just look at what they've accomplished in this last month:... read more

Posted by Kevin 2013-06-29

0.32.0 Released

Keeping with my two-month release cycle, 0.32.0 is now out. In the last month I got a lot of help from contributors who actually know how to navigate the Eclipse API. They were able to fix a bunch of defects which I had no hope of ever fixing myself. I'm amazed at what they've been able to do already.

These are the changes since the last news update (included in 0.32.0):

  • Added support for new ipmotion (improved paragraph) optional plugin
  • Added support for XML tags in our Surround.vim optional plugin
  • Added support for :tabrewind and :tablast
  • Fixed issues with :only and :qall
  • Fixed <number>gt
  • Fixed issue where :q didn't work with some file types
  • Miscellaneous minor fixes to text object parsing and visual line selections... read more
Posted by Kevin 2013-06-02

Updates to unstable update site

I've hit my stride with a two-month release cycle so I'm also trying to make a habit of posting status updates once a month. In addition to the usual requests for more Vim features, in the last month I received a couple requests for features which aren't in Vim but our users wanted anyway.

The unstable update site currently has the following changes:

  • Add support for '\c' and '\C' in search to temporarily override ignorecase setting
  • Add support for '_' motion
  • Add support for ':e!' to revert file
  • Add support for "0-"9 and "- delete and yank registers
  • Add support for ':maximize' command to maximize editor area
  • Add support for ':copy' and ':move' operations
    • Useful with line range operations ':10,20 copy 140'
  • Add support for ':vim' command
    • Launches current file in gvim (so you can do things Vrapper doesn't support)
    • After saving and quitting gvim, Eclipse will reload the file
    • Path to gvim is defined by 'gvimpath' property (defaults to /usr/bin/gvim)
  • Refactored XML text object parsing to be more compliant with Vim
Posted by Kevin 2013-05-02

0.30.0 Released

Looks like I'm hitting my stride with a two-month release cycle. 0.30.0 is released and ready for use. There were only a few changes since my last update which were included in this release:

  • Added support for :retab operation
  • Added support for partial command-line names
    • e.g., :tabprev, :tabpre, :tabpr, etc. all work now
  • Reimplemented paragraph text objects to match Vim's behavior

The partial command-line names work pretty well as long as there isn't a name collision. For example, ':tabne' could be ':tabnew' or ':tabnext'. Vim has some way to define precedence but Vrapper will just fail when this happens. I think the current solution should work in most cases but there will be a couple places where you may still need to be explicit with the name. Either way, this is an improvement over the previous implementation which required me to explicitly define every partial name supported. Now I only need to explicitly define the collisions like ':tabn' going to ':tabnext'.... read more

Posted by Kevin 2013-03-29

More updates to unstable update site

It's been over a month since my last update so I decided to look through our commit log and see what we've been working on lately. Here is the list of changes to the unstable update site since my last news post:

  • Added support for '**' in path variable
    • e.g., :set path=src/main/java/**
    • Tells :find to search all subdirectories for a filename
  • Added support for :source
    • You can now "source .vimrc" in your .vrapperrc
  • Added support for 'cursorline' option
    • enable/disable highlighting line with cursor
  • Create new file when ":e <filename>" doesn't exist
  • Added support for :tabonly (alias of :only)
  • Added support for :tabf (alias of :find)
  • Allow '+' to be omitted in line range operations
    • ".5" == ".+5"
  • Fixed behavior with quote text objects to match Vim's behavior
    • ci" will only look for quotes on current line now
  • Fixed issue with escaping delimiter character in substitution
  • Fixed a couple defects in sentence motions, paragraph motions, and joining multiple lines... read more
Posted by Kevin 2013-03-09

Updates to unstable update site

When I released 0.28.0 a couple days ago I mentioned that I wanted to release it mostly because I had a pile of feature requests I was itching to work on. Well, it's less than a week later and I've already got a bunch of new features available on the unstable update site. They are:

  • Add support for '(' and ')' sentence motions
  • Add support for Shift key in mappings '<S-' (e.g., <S-Left>)
  • Add support for Alt (meta) key in mappings '<A-' and '<M-' (e.g., <A-x>)
  • Add support for 'g;' and 'g,' to traverse changelist
  • Add support for `` to jump to last cursor position
    • Similar to '' to jump to last line position
  • Fix issue where modifying text above a mark would offset that mark's position
    • Mark positions should now stay accurate as the document changes... read more
Posted by Kevin 2013-02-03

0.28.0 Released

The code stayed relatively idle for the last couple weeks so I'm releasing 0.28.0. It includes all the changes listed in the previous news post along with a few other minor changes:

  • Added support for :bd, :bp, :bn, and :ls
  • Added basic support for 'g;'
    • Only goes to previous edit location, no change lists
  • Fixed off-by-one issue with cursor position after exiting VisualMode

We have a pile of new feature requests that I'm itching to work on so I wanted to get 0.28.0 out into the world before I start making some destabilizing changes.... read more

Posted by Kevin 2013-01-29

Updates to Unstable Update Site

I've received a lot of help from a contributor in the last couple weeks so a lot of minor features have been added as he learns the code. I'm hoping to release the next stable version at the end of January since it appears I've hit my stride with a two-month release cycle.

The unstable update site has been updated with the following changes since 0.26.1:

  • Added optional PyDev plugin for Python Vrapper users
  • Added support for <C-a> and <C-x> increment/decrement operations
  • Added support for :only
  • Added support for :tabnext and :tabprevious
  • Added support for :tabnew (invokes Eclipse's New File dialog)
  • Added support for :update (performs :w)
  • Added support for :ascii and 'ga'
  • Added support for :qall and :wqall
    -- This throws a benign NullPointerException which I can't figure out
  • Added basic support for :sort
    -- supports '!', 'i', 'n', 'x', 'o', 'u' flags
    -- supports /pattern/ with strings only (no regex)
  • Shift+Insert will now paste clipboard contents in CommandLineMode
  • Fixed problem with multi-character operations whose first character was also used in a mapping... read more
Posted by Kevin 2013-01-13

Experimental Optional PyDev Plugin Created

Vrapper has a couple optional plugins to provide support for some Vim commands which require knowledge of the underlying programming language. So far, we only had plugins for Java (JDT) and C/C++ (CDT). I realized today that it would be trivial to create an optional plugin for PyDev support and a couple people might actually appreciate it. So I've created an optional PyDev Vrapper plugin and tossed it up on the unstable update site for testing.... read more

Posted by Kevin 2012-11-27

0.26.1 Rushed out the door

I released 0.26.0 last week but today I found a defect re-introduced that a lot of people had issues with the first time around. So I've rushed a 0.26.1 release in the hopes of delivering a fix before anyone noticed I re-introduced that defect.

The problem was with multi-character mappings while in Eclipse's SmartInsert mode. A surprising number of people use mappings like "imap jj <ESC>" for exiting insert mode. There was a long-standing defect where entering the first character 'j' while inside parentheses, and not completing the mapping, would jump the cursor in front of that first 'j'. So if you had the 'jj' mapping and typed something innocuous like "for(int j=0;" you would end up with "for(int =0;j)".... read more

Posted by Kevin 2012-11-25

0.26.0 Released

I made a couple more fixes and features since my last news post. I feel pretty confident in those changes and I don't have anything else to work on so I'm releasing a new version of Vrapper.

In addition to the file-opening operations described in the previous post, I've made the following changes:

* Added support for Ctrl+W (delete word) in command-line modes
* Added support for softtabstop setting
* Added support for gd and gD in CDT and JDT plugins
** Go to declaration, same as Ctrl+] in those plugins
* Added ability to map function keys (F1-F20)
* Display "X substitutions on Y lines" after a multi-line substitution
* Fixed backspace in replace mode
* Fixed single-character mappings in insert mode
* Fixed '' (return to previous position) after jumping to a declaration (CDT/JDT only)
* Fixed cursor position after yanking visually-selected text... read more

Posted by Kevin 2012-11-18