Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Autocompletion for Swift on Emacs (github.com/nathankot)
79 points by nathankot on Dec 6, 2015 | hide | past | favorite | 16 comments

So I've been using emacs as long as I've been programming (about 6 years) but I don't understand what you get out of using Emacs for Swift over xcode. The "I" in "IDE" for xcode is extremely strong. Seems like you're giving up a lot of tooling for.. what?

Really great text editing support via Evil mode.

Well not for completion anymore :-)

For linux.

Here is an interesting talk on reverse engineering something very similar: https://realm.io/news/jp-simard-reverse-engineering-code-com...

Yup! This is exactly what powers company-sourcekit so huge props to jpsim for making this possible

Would be amazing if Apple did something like OmniSharp (or OmniSwift) so great Swift experience would be easier in Atom, Emacs, Sublime ... even VS Code.

Looks like Apple provides something called "SourceKit" which is kind of like Clang's LibTooling, and "SourceKitten" is an open source wrapper providing something comparable to OmniSharp.

It's open source now... seems like a reasonable project for the community to pick up. (Not to say Apple shouldn't do it, but I don't see them doing it with Xcode being their default IDE)

If Federighi wants Swift to be pervasive (scripting, mobile, cloud, desktop) it would make sense to integrate with tools commonly used with operating systems deployed in the datacenter / cloud.

Just give me proper Vim support in XCode and I'm happy. For now.


It's not proper though.

i'm currently trying to find the correct setup for server side swift development on my mac, and so far it involves a shared folder between my linux vm for compilation and xcode for file editing (i hate ubuntu client interface with a passion, so i only ssh into the vm via a terminal to type compile and run the binary).

what's your setup ?

Not the OP, but my own emacs development MO is to run a persistent shell buffer and bind F8/F9 to send make/run commands. I think that would work with your use case.

You'd still keep a synced code folder since you have to run the swift completion daemon on your local machine.

This is fantastic. Please keep hacking on it. Please make it work with op source swift.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact