sourcekit-lsp VS tree-sitter-swift

Compare sourcekit-lsp vs tree-sitter-swift and see what are their differences.

sourcekit-lsp

Language Server Protocol implementation for Swift and C-based languages (by apple)

tree-sitter-swift

Swift grammar for tree-sitter (by tree-sitter)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
sourcekit-lsp tree-sitter-swift
12 2
3,124 57
2.2% -
9.7 0.0
3 days ago over 2 years ago
Swift JavaScript
Apache License 2.0 -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sourcekit-lsp

Posts with mentions or reviews of sourcekit-lsp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-04.

tree-sitter-swift

Posts with mentions or reviews of tree-sitter-swift. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-08-28.
  • NeoVim setup for iOS Dev ( xcodebuild etc. ) ?
    2 projects | /r/neovim | 28 Aug 2021
    You could probably set up something to work on Swift packages, however the tree sitter grammar for Swift hasn’t been updated since 2019. sourcekit-lsp also isn’t likely to help you out either because it’s not made to understand Xcode projects. You’d need an LSP capable of parsing a .pbxproj (I highly doubt there is one, but I haven’t looked around), which has the terrible downside of not being something Apple considers a public API and can and will introduce breaking changes on any Xcode update. An Apple engineer confirmed this with me during a lab in 2020 when I was asking about how doing some hacky things with binary Swift packages.
  • Semgrep: Like Grep but for Code
    12 projects | news.ycombinator.com | 22 Apr 2021
    https://github.com/returntocorp/ocaml-tree-sitter/blob/maste... appears to be the general answer to your question, but navigating to the tree-sitter docs shows that tree-sitter has one in progress: https://github.com/tree-sitter/tree-sitter-swift so hopefully the machinery to incorporate it into semgrep will not be horrific

What are some alternatives?

When comparing sourcekit-lsp and tree-sitter-swift you can also consider the following projects:

swift-syntax - A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code.

Bear - Bear is a tool that generates a compilation database for clang tooling.

swift - The Swift Programming Language

ocaml-tree-sitter-semgrep - Generate parsers from tree-sitter grammars extended to support Semgrep patterns

cxx-interop-test - Small test app for C++ Interop with Swift.

semgrep - Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

tree-sitter-swift - A tree-sitter grammar for the Swift programming language.

terraform-provider-aws - The AWS Provider enables Terraform to manage AWS resources.

alchemy - Modern, batteries included web framework for Swift.

pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.

fastlane - 🚀 The easiest way to automate building and releasing your iOS and Android apps

refex - A syntactically aware search-and-replace tool for Python.