<commit_before># SourceKittenD

This is a simple daemon for sourcekitten to keep it running and be able to get completion information or docs from emacs via webserver calls.
I decided to use simple REST services as other IPC mechanism were either lacking in emacs or lacking in swift. And for this kind of info (just a bit of json) I suppose a webserver is fine.

# Status
This currently doesn't work yet. It compiles, but it is not yet connecting the different modules properly to actually generate docs.

This project, currently, also contains a lot of binaries (frameworks) and verbatim copied code from github.com/tomlokhorst/Xcode.swift. This is temporary.

# Docs

There's sparse documentation regarding the communication with Emacs in the Protocol.org file in the root dir

# Components
- A WebServer (Taylor.Swift) that communicates with Emacs
- A Commandline Parser to start the server
- A XcodeParser that parses an Xcode project to generate the proper completion settings
- A Completer that uses SourceKitten to generate completions and return them via the webserver
<commit_msg>Added sparse bits to the readme<commit_after># SourceKittenD

This is a simple daemon for sourcekitten to keep it running and be able to get completion information or docs from emacs via webserver calls.
I decided to use simple REST services as other IPC mechanism were either lacking in emacs or lacking in swift. And for this kind of info (just a bit of json) I suppose a webserver is fine.

# Status
This currently doesn't work yet. It compiles, but it is not yet connecting the different modules properly to actually generate docs.

This project, currently, also contains a lot of binaries (frameworks) and verbatim copied code from github.com/tomlokhorst/Xcode.swift. This is temporary.

# Building
1. Clone the repository
2. Update the submodules 
`git submodule update --init --recursive`
3. Build the frameworks
`carthage bootstrap --no-use-binaries --platform Mac`

# Docs

There's sparse documentation regarding the communication with Emacs in the Protocol.org file in the root dir

# Components
- A WebServer (Taylor.Swift) that communicates with Emacs
- A Commandline Parser to start the server
- A XcodeParser that parses an Xcode project to generate the proper completion settings
- A Completer that uses SourceKitten to generate completions and return them via the webserver

{'fraction_non_alphanumeric': 0.03697478991596639, 'fraction_numerical': 0.0012605042016806723, 'mean_word_length': 4.498845265588915, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5946904', 'n_tokens_mistral': 621, 'n_tokens_neox': 590, 'n_words': 356}