-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge main into feature/update-docs-for-jayvee-updating
- Loading branch information
Showing
276 changed files
with
8,035 additions
and
795 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg | ||
# | ||
# SPDX-License-Identifier: AGPL-3.0-only | ||
|
||
name: CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
check-paths-for-windows: | ||
name: Check paths for Windows | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 'lts/*' | ||
|
||
- name: Check paths for Windows | ||
run: node ./tools/scripts/check-for-invalid-windows-paths.mjs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,5 @@ | |
# | ||
# SPDX-License-Identifier: AGPL-3.0-only | ||
|
||
!README.mdx | ||
*.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
sidebar_position: 10 | ||
--- | ||
|
||
# Jayvee Examples | ||
|
||
Examples of Jayvee models. | ||
Copy them to your local file system and execute them with the `jv` command on your command line (see [usage](/docs/user/intro#usage)). | ||
You can [find all examples on Github](https://github.com/jvalue/jayvee/tree/main/example). | ||
|
||
```mdx-code-block | ||
import DocCardList from '@theme/DocCardList'; | ||
<DocCardList /> | ||
``` |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Introduction for Jayvee Developers | ||
|
||
## How to contribute | ||
|
||
In order to contribute to the Jayvee project, please have a look at our [contribution guide](https://github.com/jvalue/jayvee/blob/main/CONTRIBUTING.md). Before planning a contribution, please read the [design principles](./05-design-principles.md) and consider if your changes fit the vision expressed there. | ||
|
||
The overall project is licensed under the `AGPL-3.0-only` license and is compliant to the [REUSE Specification](https://reuse.software/spec/) by the [Free Software Foundation Europe](https://fsfe.org/). | ||
Because of this, contributions are required to adhere to the license and follow that specification. | ||
More details on this topic can be found [here](./02-dev-processes/03-licensing-and-copyright.md). | ||
|
||
And last but not least, please read and follow our [code of conduct](https://github.com/jvalue/jayvee/blob/main/CODE_OF_CONDUCT.md). | ||
|
||
## Project overview | ||
|
||
The Jayvee repository is located [here](https://github.com/jvalue/jayvee) on GitHub. | ||
It uses an [Nx mono-repository](https://nx.dev/) setup and contains all related projects, most notably the Jayvee language server and interpreter. | ||
Please have a look at the [architecture overview](./03-architecture-overview.md) for more details. | ||
|
||
## Prerequisites | ||
|
||
Node.js and npm are required for development. | ||
It is recommended to use their LTS version to avoid any potential compatibility issues. | ||
Also, refer to this [quick start guide](https://github.com/jvalue/jayvee#development-quickstart) for developers. | ||
|
||
In order to run the Jayvee VS Code extension during development, VS Code is required as IDE. | ||
Using VS Code also allows installing the [Langium VS Code extension](https://marketplace.visualstudio.com/items?itemName=langium.langium-vscode) for better IDE support when working with Langium grammar files. | ||
|
||
## Resources for getting started | ||
|
||
### Langium | ||
|
||
- [**Langium documentation**](https://langium.org/docs/) | ||
- Practical examples using Langium: | ||
- [Langium examples](https://github.com/langium/langium/tree/main/examples): Official example languages by Langium | ||
- [Langium's grammar language](https://github.com/langium/langium/tree/main/packages/langium): The implementation of Langium's own grammar language | ||
- [Language server for SQL](https://github.com/langium/langium-sql): An implementation of a language server for SQL | ||
- [MiniLogo DSL](https://github.com/langium/langium-minilogo): A domain-specific language for drawing pictures | ||
- [Lox language](https://github.com/langium/langium-lox): An implementation of the Lox scripting language (also see the "Crafting Interpreters" book below) | ||
- [SimpleUI DSL](https://github.com/TypeFox/langium-ui-framework): A domain-specific language for generating user interfaces | ||
- [STPA-DSL](https://github.com/kieler/stpa): A domain-specific language for System-Theoretic Process Analysis | ||
- [Langium playground](https://langium.org/playground/): A tool for testing Langium grammars and visualizing resulting ASTs | ||
- [Typefox blog](https://www.typefox.io/blog/): A blog by the company behind Langium, mostly posting Langium-related content. | ||
|
||
### Building compilers / interpreters / DSLs | ||
|
||
- [Crafting Interpreters](https://craftinginterpreters.com/contents.html): A book by Robert Nystrom on implementing an interpreter for the Lox scripting language | ||
- [DSL Engineering](https://voelter.de/dslbook/markusvoelter-dslengineering-1.0.pdf): A book by Markus Voelter on designing, implementing and using domain-specific languages | ||
- [Awesome Compilers](https://github.com/aalhour/awesome-compilers#readme): A list featuring many resources on compilers and interpreters |
3 changes: 3 additions & 0 deletions
3
apps/docs/versioned_docs/version-0.3.0/dev/01-intro.md.license
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg | ||
|
||
SPDX-License-Identifier: AGPL-3.0-only |
13 changes: 13 additions & 0 deletions
13
apps/docs/versioned_docs/version-0.3.0/dev/02-dev-processes/01-rfc-process.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
title: Language Design Process (RFCs) | ||
sidebar_position: 1 | ||
--- | ||
|
||
We use RFCs to discuss changes to the language before implementing them. You can have a look at all closed (accepted / rejected) RFCs [here](https://github.com/jvalue/jayvee/pulls?q=is%3Apr+is%3Aclosed+RFC+), and all RFCs under discussion [here](https://github.com/jvalue/jayvee/pulls?q=is%3Apr+is%3Aopen+RFC). | ||
|
||
If you want to contribute an RFC please follow these steps: | ||
1. Make a copy of the **template** at `rfc/0000-rfc-template.md` and place it into the `rfc` folder. | ||
2. Create a draft for the RFC on a new branch. Follow the `TODOs` in template to do so. | ||
3. Open a pull request with prefix `RFC <number>` in the title. | ||
4. Address the reviews. Consider opening a new PR if major things need to be addressed and the discussion log becomes too confusing. | ||
5. Once accepted, create an issue with the necessary steps to implement the RFC. |
3 changes: 3 additions & 0 deletions
3
apps/docs/versioned_docs/version-0.3.0/dev/02-dev-processes/01-rfc-process.md.license
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg | ||
|
||
SPDX-License-Identifier: AGPL-3.0-only |
25 changes: 25 additions & 0 deletions
25
...versioned_docs/version-0.3.0/dev/02-dev-processes/02-debug-vs-code-extension.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
title: Debugging via the VS Code extension | ||
sidebar_position: 2 | ||
--- | ||
|
||
The VS Code extension of Jayvee can be used to interactively debug the language server. | ||
During development, when using VS Code as IDE, another instance of VS Code can be opened which has the most recent, locally built VS Code extension loaded. | ||
This can be achieved using the launch configuration `Run extension` the `Run and Debug` side-menu of VS Code or by pressing the `F5` key if that launch configuration is already selected there. | ||
|
||
Note that there is no file watching mechanism involved. | ||
So in order to reflect changes to the source code, the additional VS Code instance has to be **closed and reopened** as described above. | ||
|
||
## How to attach a debugger | ||
|
||
1. Use the launch configuration `Run extension` to open the additional VS Code instance with the extension loaded | ||
2. Use the launch configuration `Attach to Language Server` to attach the debugger | ||
|
||
Any set breakpoints should now be marked as active and pause the execution once they are reached. | ||
|
||
## How to view logs of the language server | ||
|
||
In the additional VS Code instance, it is possible to view the logs of the language server. | ||
They might also be helpful for debugging since any uncaught errors are logged with their stack trace by the Langium framework. | ||
|
||
To view the logs, open the bottom panel called `Output` and select `Jayvee` in the dropdown menu. |
3 changes: 3 additions & 0 deletions
3
...s/versioned_docs/version-0.3.0/dev/02-dev-processes/02-debug-vs-code-extension.md.license
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
SPDX-FileCopyrightText: 2023 Friedrich-Alexander-Universitat Erlangen-Nurnberg | ||
|
||
SPDX-License-Identifier: AGPL-3.0-only |
Oops, something went wrong.