<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. 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. 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 <<a href="mailto:keithbsmiley@gmail.com">keithbsmiley@gmail.com</a>> 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]: </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]: </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]: </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>
> Hi Keith,<br>
><br>
> 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. 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. Can you elucidate a bit more for my benefit? 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. If there is a clear benefit, this is something I'd happily support and discuss with the rest of the Swift Core members.<br>
><br>
> Ted<br>
><br>
> > On Dec 31, 2015, at 12:09 PM, Keith Smiley via swift-dev <<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a>> wrote:<br>
> ><br>
> > Hey all,<br>
> ><br>
> > When swift was open sourced a few of us noticed that there was some existing<br>
> > vim highlighting support[0]. While it sounds like what's there now hasn't been<br>
> > kept up to date for a while[1], that brought up the question if there could<br>
> > ever be a dedicated repository for vim support under the apple github<br>
> > organization.<br>
> ><br>
> > Many vim plugin managers expect a specific folder structure[2] in order to<br>
> > work correctly. So the current nesting of the vim support in the main repo<br>
> > isn't ideal. I think it would be hugely beneficial to the members of the<br>
> > community who would prefer to use vim over any other editor, for there to be a<br>
> > first party repo similar to rust's[3].<br>
> ><br>
> > I'm not particularly suggesting that this plugin would be supported by the<br>
> > swift core team. As there are at least a few community swift vim plugins<br>
> > now[4][5] I would hope that as a community we would be willing and able to<br>
> > support this plguin. Personally I would love to be part of a unified effort<br>
> > towards better vim support for Swift!<br>
> ><br>
> ><br>
> > Thoughts? Thanks!<br>
> ><br>
> ><br>
> > [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>
> > [1]: <a href="https://twitter.com/jckarter/status/672493376856391681" rel="noreferrer" target="_blank">https://twitter.com/jckarter/status/672493376856391681</a><br>
> > [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>
> > [3]: <a href="https://github.com/rust-lang/rust.vim" rel="noreferrer" target="_blank">https://github.com/rust-lang/rust.vim</a><br>
> > [4]: <a href="https://github.com/keith/swift.vim" rel="noreferrer" target="_blank">https://github.com/keith/swift.vim</a><br>
> > [5]: <a href="https://github.com/kballard/vim-swift" rel="noreferrer" target="_blank">https://github.com/kballard/vim-swift</a><br>
> ><br>
> > --<br>
> > Keith Smiley<br>
> ><br>
> > _______________________________________________<br>
> > swift-dev mailing list<br>
> > <a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a><br>
> > <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>