Hi,

I was working with source kit and I was very surprised to find out that static is a "source.lang.swift.syntaxtype.keyword". Is this necessary? From the surface it looks like it ended up a keyword by accident. Split 'type' keyword into 'static' and 'class' · apple/swift@571c9b3 · GitHub

I was working on swiftlint rule https://github.com/realm/SwiftLint/pull/1501 but static is getting hard to parse with sourcekit (even on 4.1)

  1. Can static be reported as an attribute even though it is implemented as a keyword? Or does this change require changing the parse/compiler?
  2. Can contextual keywords be reported as their actual context and not their intrinsic kind?
    For example: class is a keyword, but sometimes it is used as a modifier. Can it be reported as a modifier when it is functioning as a modifier?

Thanks,
Cheyo

Related bug: [SR-7252] SourceKit doesn't recognise `static` and `class` as declaration attribute · Issue #49800 · apple/swift · GitHub