XVimProject / XVim

Xcode plugin for Vim keybindings
MIT License
5.16k stars 595 forks source link

[Discussion] Convert Xvim to an Xcode extension #964

Open FWFabio opened 8 years ago

FWFabio commented 8 years ago

The new Xcode 8 won't allow plugins anymore. Instead they're launching a new extension mechanism that allow for direct access to the source code editor view.

I'm planning to explore the possibility at WWDC and will update the issue as soon as I have more info.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/35165827-discussion-convert-xvim-to-an-xcode-extension?utm_campaign=plugin&utm_content=tracker%2F252770&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F252770&utm_medium=issues&utm_source=github).
GalCohen commented 7 years ago

@JugglerShu What are the disadvantages (if any) of re-signing xcode? Maybe that should be added to the xcode8 readme.

haaakon commented 7 years ago

Good point @GalCohen Anyone have a list?

squarefrog commented 7 years ago

The main disadvantage is you can't submit to the app store.

What I've done is download Xcode from the store, duplicate it, rename it Xcode XVIM.app. That way I can still use the signed version to submit, and i still get to use XVim.

JugglerShu commented 7 years ago

@GalCohen Sorry I think I didn't respond this properly. One misunderstanding of code re-signing is that you cannot submit app to app store with the code re-signed Xcode. I believe you can submit your app with code re-signed Xcode. (Actually I haven't done this but theoretically code sign of Xcode doesn't have anything to do with code sign of an app.)

Well, I can't tell big disadvantage of code re-signing of Xcode. One disadvantage is about security. But if you know how signatures work you would understand why this is not so much problem. After you verify code sign(by apple) of Xcode and then re-sign it by your self, everything should be fine. Because the binary is signed by yourself and if you "believe yourself" the Xcode can be believed to be safe.

If you cannot understand what I'm saying here, you might be at risk of using Xcode which includes malware inside it. (Xcode with malware actually appeared maybe 1 year ago.) However, since all of you should be great programmers who are using Vim, I would recommend you understand how code signature works (It is really basic thing of a information security).

Having said that, I could overlooked something about code re-signing. So if someone notice some important disadvantages let me know.

sobri909 commented 7 years ago

I've been submitting regularly to the App Store from my resigned Xcode. That's definitely not a limitation.

haaakon commented 7 years ago

@JugglerShu @GalCohen i use a version thats not resigned "just to be safe" when submitting apps to app store. Submitting with re-signed version of XCode is about as safe as submitting with an older version of XCode. So there should be absolutely no risk if you write your code with a re-signed version of XCode, then doing the actual submit to app store with a signed version of XCode that does not support plugins :)

codetalks-new commented 7 years ago

Hi, I find a disadvantage that I can't run Xcode 8 Extensions with the resigned Xcode.

Gminfly commented 7 years ago

After reading through this discussion, my understanding is that the impossibility of a conversion or rewrite of XVim in the form of an Extension is a suspicion, not fact. Correct?

Would it not be prudent to try then?

This is not a demand, I would of course fork and try this myself. I just want to understand.

JugglerShu commented 7 years ago

@Gminfly I haven't try it though, I don't think the extension doesn't allow us to intercept key input. That's the key point why I think I can't use the extension to implement XVim.

ivnsch commented 6 years ago

Any updates on this? Has anyone went through https://github.com/theswiftdev/awesome-xcode-extensions and checked if there's anything usable/inspiring for XVim there?

lando2319 commented 6 years ago

X Vim 2 is currently working for xcode 9. It works great.

https://github.com/XVimProject/XVim2

ivnsch commented 6 years ago

@lando2319 yeah, I actually used XVim2 (it would have made sense to add this comment there / open an issue - I forgot it's a separate repository). But anyway, it would be of course better if it can be implemented with an official api, right now it requires to unsign Xcode.