Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split Pikelet up into subcrates and add VS Code extension #172

Merged
merged 4 commits into from
Oct 16, 2018

Conversation

brendanzab
Copy link
Member

@brendanzab brendanzab commented Oct 15, 2018

This begins our work on #97.

As part of this change, based on what I've been seeing in Gluon, Argon, Lark, and rust-analyzer, I've begun to break up Pikelet into separate crates. The new directory structure looks like this:

.
├── assets
├── book
├── crates
│   ├── pikelet
│   ├── pikelet-driver
│   ├── pikelet-elaborate
│   ├── pikelet-language-server
│   ├── pikelet-library
│   ├── pikelet-repl
│   └── pikelet-syntax
├── editors
│   └── code
└── tools

This should give us the following benefits:

  • faster RLS times when making changes
  • makes it easier for newcomers to focus on a single crate - say, if they are interested in a specific thing, eg. editors, type checking, compilation, parsing, etc.
  • enforces a DAG between some of our components, which is nice architecturally
  • reduces the need for cargo features, making it easier just to grab the driver for embedding the compiler on a web page, for instance

The downsides are:

  • we end up with some stubby little crates
  • there's more jumping between directories
  • harder to make use of dead-code warnings

I've made a subdirectory for editors, as it will give us some incentive to add some more, on top of just VS Code!

@brendanzab brendanzab force-pushed the vscode-extension branch 7 times, most recently from 0b8383c to 6a94626 Compare October 15, 2018 15:20
@brendanzab
Copy link
Member Author

Sooo, the plugin keeps crashing, but oh well! Thinking I'll just merge this for now. It's a bit of a shake up, so it'd be nice to do this sooner rather than later.

@brendanzab brendanzab merged commit f92c40e into pikelet-lang:master Oct 16, 2018
@brendanzab brendanzab deleted the vscode-extension branch October 16, 2018 10:43
brendanzab added a commit to brendanzab/pikelet that referenced this pull request Nov 5, 2018
These were left over from the crate breakup in pikelet-lang#172
brendanzab added a commit that referenced this pull request Aug 24, 2020
These were left over from the crate breakup in #172
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant