45
GitHub - nathankot/company-sourcekit: Completion for Swift projects via SourceKi...
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.
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 verbositysourcekit-available-ports
- A list of ports thatsourcekittendaemon
is allowed to listen on.sourcekit-sourcekittendaemon-executable
- Location of thesourcekittendaemon
executablesourcekit-curl-executable
- Location of thecurl
executablesourcekit-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
- Big thanks to @terhechte for spearheading SourceKittenDaemon!
- @jpsim for researching Sourcekit and making sourcekitten. Without which this would not be possible!
Contributing
Is most welcome. Please use a feature branch and format your code with
indent-region
d(^.^)b
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK