<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotvim/bundle/insert-layout, branch master</title>
<subtitle>My vim configuration</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/'/>
<entry>
<title>insert-layout: Don't load in Vim &lt;9</title>
<updated>2023-03-19T19:01:59+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-19T19:01:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=1049577ed42647abc7cfb27a540db42ef5c4f8f8'/>
<id>1049577ed42647abc7cfb27a540db42ef5c4f8f8</id>
<content type='text'>
Since this plugin is written in Vim9script, it won't work in any earlier
version. Add a guard to prevent the plugin from loading in earlier Vim
versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since this plugin is written in Vim9script, it won't work in any earlier
version. Add a guard to prevent the plugin from loading in earlier Vim
versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Add comments for documentation</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-19T04:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=dde1eb51b366d3b8820c3eba0e0676db907ef4bd'/>
<id>dde1eb51b366d3b8820c3eba0e0676db907ef4bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Move functions to autoload</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-19T04:10:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=744e5df5cbf66e6f7fcab7920de2eee12e3456cd'/>
<id>744e5df5cbf66e6f7fcab7920de2eee12e3456cd</id>
<content type='text'>
Clean up the plugin file and move the bulk of the work to autoload.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clean up the plugin file and move the bulk of the work to autoload.
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Remove old commented in-progress code</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-19T03:51:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=f82897261ad36a95b7227b3aab0a8301edf72d39'/>
<id>f82897261ad36a95b7227b3aab0a8301edf72d39</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Error when 'xkbswitch' command not available</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-19T03:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=803b9b9f3f561c78601de0439d4150a72238c3d3'/>
<id>803b9b9f3f561c78601de0439d4150a72238c3d3</id>
<content type='text'>
If the 'xkbswitch' command isn't available, we shouldn't be adding any
autocmds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the 'xkbswitch' command isn't available, we shouldn't be adding any
autocmds.
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Don't remove autocmds in `InsertLayoutOn`</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-19T03:14:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=ebf7b2e4677ac4e8cad77fc4a7efa0fc9cf39ada'/>
<id>ebf7b2e4677ac4e8cad77fc4a7efa0fc9cf39ada</id>
<content type='text'>
I assumed that I should be removing existing autocmds before adding new
ones. If you ran the `:InsertLayout` command more than once, I didn't
want old autocmds to stick around.

The line was commented out because it fails on the first call to
`:InsertLayout`, since at that point the `insert_layout` augroup doesn't
exist.

On closer inspection, however, it turns out that the old autocmds are
not retained when running `:InsertLayout` subsequent times. Rather, the
newly-defined ones are overwriting the old ones. So we don't need to
worry about removing the old autocmds before adding new ones.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I assumed that I should be removing existing autocmds before adding new
ones. If you ran the `:InsertLayout` command more than once, I didn't
want old autocmds to stick around.

The line was commented out because it fails on the first call to
`:InsertLayout`, since at that point the `insert_layout` augroup doesn't
exist.

On closer inspection, however, it turns out that the old autocmds are
not retained when running `:InsertLayout` subsequent times. Rather, the
newly-defined ones are overwriting the old ones. So we don't need to
worry about removing the old autocmds before adding new ones.
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Add completion to `InsertLayout` command</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-18T16:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=b26b4c48f6bface96ef0d365d6ed7e89f2ef199c'/>
<id>b26b4c48f6bface96ef0d365d6ed7e89f2ef199c</id>
<content type='text'>
This allows us to complete the command's keyboard layout identifier
making it easier to select one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to complete the command's keyboard layout identifier
making it easier to select one.
</pre>
</div>
</content>
</entry>
<entry>
<title>insert-layout: Add commands to turn insert layout on and off</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-18T16:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=3bc45fa6ac18ad54dd595054b6051df48d4e228c'/>
<id>3bc45fa6ac18ad54dd595054b6051df48d4e228c</id>
<content type='text'>
Add two new commands, `InsertLayout` and `InsertLayoutOff`, which allow
us to activate a different keyboard layout for insert mode and restore
the previous layout when leaving insert wode.

Works reasonably well, but needs a bit of cleaning up now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add two new commands, `InsertLayout` and `InsertLayoutOff`, which allow
us to activate a different keyboard layout for insert mode and restore
the previous layout when leaving insert wode.

Works reasonably well, but needs a bit of cleaning up now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'insert-layout' plugin idea</title>
<updated>2023-03-19T18:52:34+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2023-03-18T12:10:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/dotvim/commit/?id=7a52016eaff478ce8cd55db1314e900f32bf2177'/>
<id>7a52016eaff478ce8cd55db1314e900f32bf2177</id>
<content type='text'>
This uses `xkbswitch` to change keyboard layouts on insert enter and
leave. For now it's only a proof of concept.

The plan is to make an `:InsertLayout` command that takes an argument
defining the keyboard layout to use in insert mode. When returning to
normal mode, it should switch back to the previous layout.

This uses https://github.com/myshov/xkbswitch-macosx/.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This uses `xkbswitch` to change keyboard layouts on insert enter and
leave. For now it's only a proof of concept.

The plan is to make an `:InsertLayout` command that takes an argument
defining the keyboard layout to use in insert mode. When returning to
normal mode, it should switch back to the previous layout.

This uses https://github.com/myshov/xkbswitch-macosx/.
</pre>
</div>
</content>
</entry>
</feed>
