SourceKitten icon indicating copy to clipboard operation
SourceKitten copied to clipboard

How to get the code by name using SourceKitten?

Open moonshineBoy opened this issue 1 year ago • 0 comments

I have a main.swfit swift file like below:

import Foundation

func functest() {
  print(123)
}

I can use sourcekitten structure to get function names:

sourcekitten structure --file main.swift | jq '."key.substructure"[] | select(."key.kind" == "source.lang.swift.decl.function.free") | ."key.name"' 

and match the functions:

sourcekitten structure --file main.swift | jq '."key.substructure"[] | select(."key.kind" == "source.lang.swift.decl.function.free") '  

the result: image

but how to get source code ?

I want to implement a function given the function name( functest ) then return the source code

func functest() {
  print(123)
}

moonshineBoy avatar Mar 30 '24 09:03 moonshineBoy