swiftlang/swift

[SR-2117] Add documentation for SourceKit request types

Open

#44,725 opened on Jul 19, 2016

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Swift (69,989 stars) (10,719 forks)batch import
good first issueimprovement

Description

Previous ID SR-2117
Radar None
Original Reporter @modocache
Type Improvement
Votes 0
Component/s Source Tooling
Labels Improvement, StarterBug
Assignee None
Priority Medium

md5: c43f5bd8eac7b069dfaac26bb719e804

Issue Description:

The majority of SourceKit request types, and the format of their responses, is undocumented. Protocol.md documents a small portion of the request types.

We should add documentation for the remaining request types:

  1. source.request.crash_exit

  2. source.request.mangle_simple_class PR #4733

  3. source.request.codecomplete.close

  4. source.request.codecomplete.update

  5. source.request.codecomplete.cache.ondisk

  6. source.request.codecomplete.setpopularapi

  7. source.request.codecomplete.setcustom

  8. source.request.relatedidents

  9. source.request.editor.open

  10. source.request.editor.open.interface.header

  11. source.request.editor.open.interface.swiftsource

  12. source.request.editor.open.interface.swifttype

  13. source.request.editor.extract.comment

  14. source.request.editor.close

  15. source.request.editor.replacetext

  16. source.request.editor.formattext

  17. source.request.editor.expand_placeholder

  18. source.request.editor.find_usr

  19. source.request.editor.find_interface_doc

  20. source.request.buildsettings.register

  21. source.request.module.groups

To contribute:

  1. Build the Swift compiler from source on macOS. You should have a copy of sourcekitd-test and sourcekitd-repl in your swift-macosx-x86_64/bin build directory.

  2. Try invoking sourcekitd-test -req=foo, where foo is one of the values in this list: https://github.com/apple/swift/blob/7ac11087de44eb17855e6306d22bb9f345140a1d/tools/SourceKit/tools/sourcekitd-test/TestOptions.cpp#L136-L140. You'll need to read the source code to figure out what parameters the request types need to be passed.

  3. Look at the response, and document its structure in https://github.com/apple/swift/blob/master/tools/SourceKit/docs/Protocol.md

Contributor guide