<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vim-grappele/autoload, branch v0.2.0</title>
<subtitle>Vim plugin to repeat the last G movement</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/'/>
<entry>
<title>Add operator pending and visual mode `G` mappings</title>
<updated>2020-09-20T21:48:59+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-09-20T21:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=3483e377e93e6381e2fea236ceb0e7d2991aa29e'/>
<id>3483e377e93e6381e2fea236ceb0e7d2991aa29e</id>
<content type='text'>
I previously added o- and v-maps for the `gG` mapping, but hadn't done
so for `G`.

This change allows us to reuse lines given to `G` from other modes. For
example:

    173&gt;&gt;..ygG

Didn't use `&lt;Plug&gt;` mappings here because after testing them, there was
a noticeable delay. Found 07a75d523eadaf1027aa8bf287256602ad05f97f,
which describes a performance penalty, so used direct mappings instead.

Kept the `&lt;Plug&gt;Grappele` mapping for a measure of backward
compatibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I previously added o- and v-maps for the `gG` mapping, but hadn't done
so for `G`.

This change allows us to reuse lines given to `G` from other modes. For
example:

    173&gt;&gt;..ygG

Didn't use `&lt;Plug&gt;` mappings here because after testing them, there was
a noticeable delay. Found 07a75d523eadaf1027aa8bf287256602ad05f97f,
which describes a performance penalty, so used direct mappings instead.

Kept the `&lt;Plug&gt;Grappele` mapping for a measure of backward
compatibility.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add operator-pending and visual mode mappings</title>
<updated>2018-12-13T12:49:40+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2018-12-13T12:49:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=1926fc6c9fb6f724660a495f23afccc0830de069'/>
<id>1926fc6c9fb6f724660a495f23afccc0830de069</id>
<content type='text'>
New mappings that allow the stored `G` position to be used in both
visual mode and operator-pending mode for greater flexibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New mappings that allow the stored `G` position to be used in both
visual mode and operator-pending mode for greater flexibility.
</pre>
</div>
</content>
</entry>
<entry>
<title>autoload/grappele.vim: Only try to recall if a location was saved</title>
<updated>2017-12-20T00:05:21+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-12-20T00:05:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=61b3046661f8bb14f12b2a45650bb23b1d68f09a'/>
<id>61b3046661f8bb14f12b2a45650bb23b1d68f09a</id>
<content type='text'>
Previously, if `gG` (the recall mapping) was pressed before previously
having pressed a `G` command, the following error would appear:

    Error detected while processing function grappele#Recall:
    line    1:
    E121: Undefined variable: s:line
    E116: Invalid arguments for function grappele#Grappele

This happened because no previous `G` location had been saved.

Displaying an error here makes for a bad user experience. Instead if
this happens, we should just do nothing. To prevent the error, check for
the existence of the `s:line` variable before trying to use it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if `gG` (the recall mapping) was pressed before previously
having pressed a `G` command, the following error would appear:

    Error detected while processing function grappele#Recall:
    line    1:
    E121: Undefined variable: s:line
    E116: Invalid arguments for function grappele#Grappele

This happened because no previous `G` location had been saved.

Displaying an error here makes for a bad user experience. Instead if
this happens, we should just do nothing. To prevent the error, check for
the existence of the `s:line` variable before trying to use it.
</pre>
</div>
</content>
</entry>
<entry>
<title>autoload/grappele.vim: Don't save location when using `G` directly</title>
<updated>2017-07-08T22:10:33+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-07-08T22:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=90ee500ed7945cedcbdc45b40de3ab26a762479d'/>
<id>90ee500ed7945cedcbdc45b40de3ab26a762479d</id>
<content type='text'>
Previously, we would save the location of the `G` command regardless of
whether it was used with a count or not. Thus, `34G` and `G` would both
save locations.

Saving the location of `G` isn't really useful, but it's easily
accessed. Instead, only save location when using a count with `G`. This
allows the Grappele command to be useful even after having pressed `G`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we would save the location of the `G` command regardless of
whether it was used with a count or not. Thus, `34G` and `G` would both
save locations.

Saving the location of `G` isn't really useful, but it's easily
accessed. Instead, only save location when using a count with `G`. This
allows the Grappele command to be useful even after having pressed `G`.
</pre>
</div>
</content>
</entry>
<entry>
<title>autoload/grappele.vim: Push to jumplist</title>
<updated>2016-06-17T06:20:53+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2016-06-17T06:20:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=b47479c55fcc9646743df729e8ce37160def5375'/>
<id>b47479c55fcc9646743df729e8ce37160def5375</id>
<content type='text'>
Turns out that invoking `G` wouldn't push your movement to the jumplist
(unlike Vim's real `G`). This was not only confusing, it was also wrong.
Just an oversight on my part that I didn't notice until now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turns out that invoking `G` wouldn't push your movement to the jumplist
(unlike Vim's real `G`). This was not only confusing, it was also wrong.
Just an oversight on my part that I didn't notice until now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Create G recall command</title>
<updated>2015-09-13T20:41:59+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2015-09-13T20:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=8e206e6d4ad49d70e4adc2b79feea4bbc426a3f2'/>
<id>8e206e6d4ad49d70e4adc2b79feea4bbc426a3f2</id>
<content type='text'>
* Add mapping for the recall command. Using `gG` because it's quick,
  easy to remember, and doesn't appear to be used for anything.
* Create `grappele#Recall()` function that goes to the last `G` count
* Store the most recent count passed into `G`

Using the recall command, you can `G` to the same count that you
previously used no matter what buffer you're now in.

TODO: The `G` command appears to be running slowly now for whatever
reason. Investigate what's going on.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add mapping for the recall command. Using `gG` because it's quick,
  easy to remember, and doesn't appear to be used for anything.
* Create `grappele#Recall()` function that goes to the last `G` count
* Store the most recent count passed into `G`

Using the recall command, you can `G` to the same count that you
previously used no matter what buffer you're now in.

TODO: The `G` command appears to be running slowly now for whatever
reason. Investigate what's going on.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replicate n_G functionality</title>
<updated>2015-09-13T20:28:22+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2015-09-13T20:28:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=059cffa4d69ecfde1c13268413b92bef1de4f4d1'/>
<id>059cffa4d69ecfde1c13268413b92bef1de4f4d1</id>
<content type='text'>
Go to the end of the buffer when typed with no count, otherwise go to
the line specified by `v:count`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Go to the end of the buffer when typed with no count, otherwise go to
the line specified by `v:count`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial commit. Project setup.</title>
<updated>2015-09-13T20:00:45+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2015-09-13T20:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/vim-grappele/commit/?id=59e8032b2b31dc06c60842bbf975effec6820958'/>
<id>59e8032b2b31dc06c60842bbf975effec6820958</id>
<content type='text'>
* Basic setup for the plugin:
    * `loaded` global
    * Create mapping definition based on style from tpope and System
      Copy
* Create dummy function in autoload
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Basic setup for the plugin:
    * `loaded` global
    * Create mapping definition based on style from tpope and System
      Copy
* Create dummy function in autoload
</pre>
</div>
</content>
</entry>
</feed>
