45

GitHub - nathankot/company-sourcekit: Completion for Swift projects via SourceKi...

 6 years ago
source link: https://github.com/nathankot/company-sourcekit
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

company-sourcekit

company-mode completion for Swift projects via SourceKit with the help of SourceKittenDaemon.

cap.gif

Limitations

  • Only works when there is a *.xcodeproj up the directory tree.
  • OSX-only, since this communicates with SourceKit which only runs on OSX (AFAIK)
  • You need to have curl on your machine

Installation

First install SourceKittenDaemon. Make sure that it's in the exec-path of your Emacs.

And then you can install company-sourcekit in the following ways:

MELPA

M-x package-install <RET> company-sourcekit <RET>

Source

Make sure this repository is in your load-path, and then:

(require 'company-sourcekit)
(add-to-list 'company-backends 'company-sourcekit)

Configuration

  • company-sourcekit-use-yasnippet - Use yasnippet for completion expansion. By default this is enabled if yasnippet is detected.
  • company-sourcekit-verbose - Log company-related messages to *messages* with verbosity
  • sourcekit-available-ports - A list of ports that sourcekittendaemon is allowed to listen on.
  • sourcekit-sourcekittendaemon-executable - Location of the sourcekittendaemon executable
  • sourcekit-curl-executable - Location of the curl executable
  • sourcekit-verbose - Log sourcekittendaemon-related messages to *messages* with verbosity

How it works

  • company-sourcekit communicates with sourcekittendaemon via HTTP.
  • Which in turn communicates with SourceKit using the sourcekitten framework.
  • sourcekittendaemon will read your .xcodeproj file and determine the best configuration options to pass to sourcekit.

Credits

Contributing

Is most welcome. Please use a feature branch and format your code with indent-region d(^.^)b


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK