All Projects → danielmartin → emacs-sourcekit-lsp

danielmartin / emacs-sourcekit-lsp

Licence: other
Emacs LSP client for SourceKit-LSP (https://github.com/apple/sourcekit-lsp), a Swift/Objective-C/C++ language server created by Apple

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to emacs-sourcekit-lsp

Bridgecraft
Generate Swift interface for ObjC bridging headers
Stars: ✭ 62 (+148%)
Mutual labels:  sourcekit
skit
yaml -> sourcekit -> json
Stars: ✭ 29 (+16%)
Mutual labels:  sourcekit
Swiftshield
🔒 Swift Obfuscator that protects iOS apps against reverse engineering attacks.
Stars: ✭ 1,906 (+7524%)
Mutual labels:  sourcekit
Jazzy
Both Swift and Objective-C projects are supported.
Stars: ✭ 7,078 (+28212%)
Mutual labels:  sourcekit
coc-sourcekit
Swift language server extension using sourcekit-lsp for coc.nvim.
Stars: ✭ 61 (+144%)
Mutual labels:  sourcekit

emacs-sourcekit-lsp

emacs-sourcekit-lsp is a client for sourcekit-lsp, a Swift/C/C++/Objective-C language server created by Apple.

Uses lsp-mode, but it's also open to be extended with additions outside of the LSP protocol, like semantic highlighting, if the server supports that.

Screenshot

alt text

Quickstart

You need to download sourcekit-lsp and follow their repo instructions to build it using Swift Package Manager, for example.

After that, you need to download and install a custom development Swift toolchain from Swift.org website (in the future, Apple plans to make sourcekit-lsp work with Swift release toolchains).

Finally, add the following code to your init.el:

(require 'sourcekit-lsp)
(setenv "SOURCEKIT_TOOLCHAIN_PATH" "/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2018-11-01-a.xctoolchain")
(setq sourcekit-lsp-executable (expand-file-name "<path_to_sourcekit-lsp_executable>"))

You can add sourcekit-lsp-swift-enable to your swift-mode hook and it will load sourcekit-lsp whenever you visit a .swift file.

MELPA

This package is not available on MELPA yet (but it's planned).

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].