Posted
over 12 years
ago
by
Kevin
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.
... [More]
The problem was with multi-character mappings while in Eclipse's SmartInsert mode. A surprising number of people use mappings like "imap jj " 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)".
The root of the issue is with Eclipse helpfully inserting that closing ')' for you. It somehow throws off Vrapper and offsets the cursor. This means I can't unit test it because it needs Eclipse interjecting itself for the defect to occur. Which means its easy to miss if I re-introduce it.
So anyway, defect re-introduced, defect re-fixed (I hope). [Less]
|
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:
|
Posted
over 12 years
ago
by
Kevin
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
... [More]
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
And now for some shameless self-congratulation. Vrapper appears to be pretty popular. We now have over 10,000 installs via the Eclipse Marketplace\! Also, our GitHub Project has been "starred" by over 250 users and has 40 forks. Very impressive. I take this as a sign that we're doing a good job. I'm glad everyone continues to enjoy Vrapper\! [Less]
|
Posted
almost 13 years
ago
by
Kevin
I've updated the unstable update site with a few new features. Someone made an innocent feature request for the 'gf' command and I ended up implementing a bunch of features related to opening files. These features can be broken into two categories
... [More]
, the ':e' operations and the ':find' operations.
:e operations
\-- :e <filename> - opens a file relative to current working directory
\-- :cd <directory> - changes current working directory
\-- :pwd - prints current working directory
\-- :set autochdir - automatically change working directory to the parent of whatever file is active
:find operations
\-- :find <filename> - opens a file from a directory in the path
\-- :set path=<comma-delimited list of dirs> - list of directories to search in path
\-- gf - takes filename under cursor, finds it in path, and opens the file
\-- v\_gf - similar to gf but takes the current visual selection as the filename
There are a couple things to note about my implementation. I see Vrapper as an Eclipse plugin and not a generic Vim replacement so each 'path' and 'current working directory' is rooted at the Eclipse Project root of whatever file is active. For example, ':e src/main/java/Foo.java'. So, if you have two files open from two different projects then the project directories searched will depend on which file is active when you enter command-line mode.
I don't plan on ever searching absolute paths on the filesystem, but if people don't like being rooted at the Eclipse Project level I could be convinced to go up one level further so you could specify the Eclipse Project name as the first-level directory. For example, ':e MyProject/src/main/java/Foo.java'.
Finally, ':e', ':find', and ':cd' all support tab-completion like in Vim. I'm hoping to also add tab-completion for command-line command names but I haven't done that yet. [Less]
|
I've updated the unstable update site with a few new features. Someone made an innocent feature request for the 'gf' command and I ended up implementing a bunch of features related to opening files. These features can be broken into two categories, the ':e' operations and the ':find' operations.
|
I don't like sitting on unreleased features when I'm not working on anything new. If I have a list of things completed but none of them are major, there's nothing that says I can't release them into the world. So, I am now releasing version 0.24.0 of
... [More]
Vrapper. This is mostly a minor bug fix release but since I have nothing pending right now, I might as well give you what I have. [Less]
|
Posted
almost 13 years
ago
by
Kevin
I don't like sitting on unreleased features when I'm not working on anything new. If I have a list of things completed but none of them are major, there's nothing that says I can't release them into the world. So, I am now releasing version 0.24.0 of
... [More]
Vrapper. This is mostly a minor bug fix release but since I have nothing pending right now, I might as well give you what I have.
In addition to the miscellaneous bug fixes and minor features listed in my previous news post, I've added the following changes:
\- Refactored Ctrl+u/Ctrl+d to scroll by half-screen, not fullscreen
\- Add support for '?' on all command-line options, not just booleans.
\-- For example, ':set textwidth?' or ':set clipboard?' to see current value.
\- In our optional Surround plugin, added support for 'yss' to surround entire line
That's a pretty short list of changes in the month since my last news post. It feels like things are slowing down here. The only major features left pending are the ones I don't feel confident implementing myself \(see the previous news post about my inadequacies with the Eclipse API\). I'll still do my best to fix any defects that may arise, but I have nothing new on the horizon. Other than that, hurray\! A new release\! [Less]
|
Things have been pretty slow here since releasing 0.22.0. As far as I can tell, the only major features Vrapper has left to implement are visual block selection and split editor views. Unfortunately, both those features rely heavily on poking and
... [More]
prodding the Eclipse API just right and I haven't yet found the magical incantation to do either one of them. I'm afraid I'll need outside help if I'm ever going to get those features working. [Less]
|
Posted
almost 13 years
ago
by
Kevin
Things have been pretty slow here since releasing 0.22.0. As far as I can tell, the only major features Vrapper has left to implement are visual block selection and split editor views. Unfortunately, both those features rely heavily on poking and
... [More]
prodding the Eclipse API just right and I haven't yet found the magical incantation to do either one of them. I'm afraid I'll need outside help if I'm ever going to get those features working.
With that said, I have found time to fix/implement a couple things in between sessions of banging my head against the Eclipse API. The unstable update site currently has the following changes from 0.22.0:
\* Fixed multi-character mappings to <ESC> when inside parentheses
\*\* Vrapper now displays pending characters when typing multi-character mappings
\*\* This is more aligned with Vim behavior and appears to work in all cases now
\* Fixed behavior of >i\{ to match Vim
\* Preserve counts sent to '.' command for future '.' executions
\* Fixed '\*' and '\#' when regexsearch is enabled.
\* Added support for '+' and '-' line motions
\* Fixed issue with exiting InsertMode at the end of a file
\* Added support for 'gq' paragraph formatting
\* Refactored 'gt' and 'gT' commands for Eclipse Juno
\*\* 'gt' and 'gT' should work correctly but '<number>gt' still doesn't work
\*\* 'gt' and 'gT' in Eclipse 3.x should still work but it won't wrap around the first and last tabs anymore
\* Fixed issue with newline characters being shared between editors
\*\* If you open both a Unix file and a Windows file Vrapper will keep the newlines straight
\* Defined behavior for the <END> key
\*\* You'll need to unbind <END> in Eclipse before using it in Vrapper operations
I don't think any of those changes are very big so I'm not itching to release the next version of Vrapper. We'll see what else I can add in the near future. If things remain slow and no defects arrive, I might release it. [Less]
|
Posted
about 13 years
ago
by
Kevin
Aside from a couple minor defect fixes, the code was idle for the last 2 weeks. So, I'm releasing 0.22.0. There are still a couple defects I'd like fixed, but I want to get 0.22.0 out now for a couple reasons. First, I want to get the substitution
... [More]
feature out to everyone that has been waiting so patiently for it. Second \(and probably more importantly\), version 0.20.0 throws a nasty stack trace during startup in Eclipse Juno \(4.2\) which leaves Vrapper in a weird state. I fixed that issue in 0.22.0 so Vrapper will start correctly in Ecipse Juno for anyone who has already upgraded. However, I haven't yet gone through and verified all functionality against Eclipse Juno so there may be more problems.
Here are a couple known defects that I wanted to fix but didn't want to delay 0.22.0 for:
\- 'u' undo operation doesn't work in some files \(\#86\)
\-- This is consistently a problem in certain XML files like Maven pom.xml files but is otherwise difficult to reproduce.
\-- If you run into this issue, Eclipse's normal Ctrl+Z undo will still function
\- 'gt' has inconsistent behavior in Eclipse Juno
\-- I'm going to do my best to refactor this feature so it works in both Eclipse 3.x and 4.x but I'm not sure if that will be possible
\-- I don't want to break compatibility with the Ecipse 3.x series so quickly after 4.2 releasing
Aside from those issues, everything is looking good. See the previous news posts for all the features/fixes we've included since 0.20.0. I think it's a pretty impressive list given that 0.20.0 was released less than 2 months ago. [Less]
|