Swift autocompletion in Sublime Text using SourceKitten
Python Swift Shell
Switch branches/tags
Nothing to show
Latest commit d24f1a3 May 21, 2017 @Dan2552 committed on GitHub Merge pull request #23 from Dan2552/symbols



Swift autocomplete and documentation in Sublime Text 3, using SourceKitten.




  • Install SourceKitten (brew install sourcekitten)
  • Clone this repository to the Sublime packages directory
  • [Optionally for speed] Install a faster JSON parsing back-end: (brew install yajl)


  • Open your project top-most directory in Sublime (e.g. cd ~/projects/MyProject && subl .)


  • SourceKittenSubl doesn't read Xcode project files, but instead uses the top-most directory open in Sublime.
  • The source of SourceKittenSubl is simple so hopefully it should be easy to contribute to (please do!). I'm open for discussion on the repository issues if you want to discuss / you're at all unsure how to approach a problem.

For contributing

  • Run the test runner: ./run_tests
  • If you're contributing, try to write a test to capture the problem

These are the main components of the plugin:

  • subl.py: this file is entry point to the plugin from Sublime - on_query_completions is an event handler method provided by Sublime Text's API, so Sublime Text will call the method when attempting to autocomplete.
  • subl_source_kitten.py is purely to convert output from SourceKitten into a format that can be output in Sublime Text.
  • source_kitten.py communicates with the sourcekitten - exactly in the same way as you would from a bash shell. Parses the output from JSON into Python objects.
  • swift_project.py deals with the "project" (i.e. which source files should be passed in to SourceKitten)