swiftlang/swift

[SR-2117] Add documentation for SourceKit request types

Open

#44,725 创建于 2016年7月19日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)Swift (69,989 star) (10,719 fork)batch import
good first issueimprovement

描述

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

贡献者指南