<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div></div><div>Hi Keith,</div><div><br></div><div>This makes complete sense. &nbsp;I can see why cloning a small self-contained repository would be ideal for plugin managers.</div><div><br></div><div>I'll talk about this with the core team, but I think this seems like a reasonable direction.</div><div><br></div><div>Incidentally, we would need one (or more) active maintainers for the vim plugin. &nbsp;Dmitri Gribenko was the one on Apple's Swift team most actively using vim, but I'd also be happy with somebody outside of Apple being the custodian of this plugin.</div><div><br></div><div>Ted</div><div><br>On Jan 3, 2016, at 10:37 AM, Keith Smiley &lt;<a href="mailto:keithbsmiley@gmail.com">keithbsmiley@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr"><span style="font-size:12.8px">Right there are 2 facets to the file hierarchy. The one covered in [2] is the</span><br style="font-size:12.8px"><span style="font-size:12.8px">standard structure vim expects when loading plugins. The need to be in a</span><br style="font-size:12.8px"><span style="font-size:12.8px">separate repo is for vim plugin managers.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">The most popular plugin managers[0][1][2] work by either you cloning, or</span><br style="font-size:12.8px"><span style="font-size:12.8px">specifying a repo containing a plugin to load. This means you would use</span><br style="font-size:12.8px"><span style="font-size:12.8px">something like `apple/swift.vim` in the case of the plugin I'm hoping for. The</span><br style="font-size:12.8px"><span style="font-size:12.8px">plugin managers then add that cloned directory to vim's runtime path where it</span><br style="font-size:12.8px"><span style="font-size:12.8px">looks for the structure covered in [2] to be able to load the correct plugin</span><br style="font-size:12.8px"><span style="font-size:12.8px">files. If that structure doesn't exist at the root of the repo, it has no</span><br style="font-size:12.8px"><span style="font-size:12.8px">effect. Some of the plugin managers[2] do have the ability to specify the</span><br style="font-size:12.8px"><span style="font-size:12.8px">subdirectory of a repo, but even if that was something we were relying on,</span><br style="font-size:12.8px"><span style="font-size:12.8px">having to clone the entire `apple/swift` repo for less than ~10 small files is</span><br style="font-size:12.8px"><span style="font-size:12.8px">a lot of overhead.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Let me know if I need to elaborate more.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Thanks!</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">[0]:&nbsp;</span><a href="https://github.com/tpope/vim-pathogen" rel="noreferrer" target="_blank" style="font-size:12.8px">https://github.com/tpope/vim-pathogen</a><br style="font-size:12.8px"><span style="font-size:12.8px">[1]:&nbsp;</span><a href="https://github.com/VundleVim/Vundle.vim" rel="noreferrer" target="_blank" style="font-size:12.8px">https://github.com/VundleVim/Vundle.vim</a><br style="font-size:12.8px"><span style="font-size:12.8px">[2]:&nbsp;</span><a href="https://github.com/junegunn/vim-plug" rel="noreferrer" target="_blank" style="font-size:12.8px">https://github.com/junegunn/vim-plug</a><br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">--<br>Keith Smiley</div></div></div>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<div class="HOEnZb"><div class="h5"><br>
On 01/02, Ted kremenek wrote:<br>
&gt; Hi Keith,<br>
&gt;<br>
&gt; I'm not a vim user, so I'm not certain how the nesting of the vim support in the main repository is a problem.&nbsp; I looked at [2] and noticed a requirement for a folder layout, but I didn't see anything obvious to indicate that this would benefit from being in a separate repository.&nbsp; Can you elucidate a bit more for my benefit?&nbsp; Note that I'm not saying there is a benefit; I'm just lacking some context here to understand why a separate repository is needed.&nbsp; If there is a clear benefit, this is something I'd happily support and discuss with the rest of the Swift Core members.<br>
&gt;<br>
&gt; Ted<br>
&gt;<br>
&gt; &gt; On Dec 31, 2015, at 12:09 PM, Keith Smiley via swift-dev &lt;<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hey all,<br>
&gt; &gt;<br>
&gt; &gt; When swift was open sourced a few of us noticed that there was some existing<br>
&gt; &gt; vim highlighting support[0]. While it sounds like what's there now hasn't been<br>
&gt; &gt; kept up to date for a while[1], that brought up the question if there could<br>
&gt; &gt; ever be a dedicated repository for vim support under the apple github<br>
&gt; &gt; organization.<br>
&gt; &gt;<br>
&gt; &gt; Many vim plugin managers expect a specific folder structure[2] in order to<br>
&gt; &gt; work correctly. So the current nesting of the vim support in the main repo<br>
&gt; &gt; isn't ideal. I think it would be hugely beneficial to the members of the<br>
&gt; &gt; community who would prefer to use vim over any other editor, for there to be a<br>
&gt; &gt; first party repo similar to rust's[3].<br>
&gt; &gt;<br>
&gt; &gt; I'm not particularly suggesting that this plugin would be supported by the<br>
&gt; &gt; swift core team. As there are at least a few community swift vim plugins<br>
&gt; &gt; now[4][5] I would hope that as a community we would be willing and able to<br>
&gt; &gt; support this plguin. Personally I would love to be part of a unified effort<br>
&gt; &gt; towards better vim support for Swift!<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Thoughts? Thanks!<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; [0]: <a href="https://github.com/apple/swift/tree/master/utils/vim" rel="noreferrer" target="_blank">https://github.com/apple/swift/tree/master/utils/vim</a><br>
&gt; &gt; [1]: <a href="https://twitter.com/jckarter/status/672493376856391681" rel="noreferrer" target="_blank">https://twitter.com/jckarter/status/672493376856391681</a><br>
&gt; &gt; [2]: <a href="https://robots.thoughtbot.com/writing-vim-syntax-plugins" rel="noreferrer" target="_blank">https://robots.thoughtbot.com/writing-vim-syntax-plugins</a><br>
&gt; &gt; [3]: <a href="https://github.com/rust-lang/rust.vim" rel="noreferrer" target="_blank">https://github.com/rust-lang/rust.vim</a><br>
&gt; &gt; [4]: <a href="https://github.com/keith/swift.vim" rel="noreferrer" target="_blank">https://github.com/keith/swift.vim</a><br>
&gt; &gt; [5]: <a href="https://github.com/kballard/vim-swift" rel="noreferrer" target="_blank">https://github.com/kballard/vim-swift</a><br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Keith Smiley<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; swift-dev mailing list<br>
&gt; &gt; <a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a><br>
&gt; &gt; <a href="https://lists.swift.org/mailman/listinfo/swift-dev" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-dev</a><br>
</div></div></blockquote></div><br></div></div>
</div></blockquote></body></html>