Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sdm-lang/sdml.tmbundle
SDML Bundle for TextMate
https://github.com/sdm-lang/sdml.tmbundle
sdml textmate-bundle textmate-grammar
Last synced: about 1 month ago
JSON representation
SDML Bundle for TextMate
- Host: GitHub
- URL: https://github.com/sdm-lang/sdml.tmbundle
- Owner: sdm-lang
- License: mit
- Created: 2023-10-03T23:47:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-17T20:51:48.000Z (about 1 year ago)
- Last Synced: 2023-11-17T21:39:08.554Z (about 1 year ago)
- Topics: sdml, textmate-bundle, textmate-grammar
- Language: Shell
- Homepage:
- Size: 1000 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SDML Bundle for TextMate
![SDML Logo Text](https://raw.githubusercontent.com/sdm-lang/.github/main/profile/horizontal-text.svg)
This [TextMate](https://macromates.com/) bundle contains a language grammar and settings for editing [Simple Domain Modeling Language](sdml.io) (SDML) files.
A Github workflow attaches a downloadable `.tmbundle` zip file to each [release](https://github.com/sdm-lang/SDML.tmbundle/releases/).
## Features
1. Syntax highlighting based on a *tmlanguage* grammar.
2. Declarations added to the window's Symbol List.
3. Declaration and Annotation snippets.
4. (Experimental) command-line integration for diagram generation.## Installation
TextMate, and most editors that support TextMate bundles, allow the installation of bundles simply by extracting an archive or cloning the repository into the application's bundle directory. This bundle is no different.
For TextMate, the easiest approach is the install shell script shown below. This will create a new folder in TextMate's bundle folder and clone the Github repository locally.
```bash
$ curl https://raw.githubusercontent.com/sdm-lang/SDML.tmbundle/main/install.sh | sh
```Alternatively, you can download a release zip file from Github and unzip on the TextMate bundle directory.
### Intellij IDEA
JetBrains tools such as IntelliJ IDEA have instructions https://www.jetbrains.com/help/idea/textmate.html.
## Screenshots
The SDML bundle menu allows for the insertion of various language declarations, many of them with tab shortcuts. For example `dt` followed by the tab key will expand to a datatype declaration.
![Declaration Snippets](./images/tm-declarations.png)
Similarly a number of useful annotations can be inserted.
![Annotation Snippets](./images/tm-annotations.png)
Finally, note that the symbol list (bottom of the editor window) shows the structure of the module with types, members and variants.
![Symbol List](./images/tm-list.png)
## License
This package is released under the Apache License, Version 2.0. See LICENSE file for details.
## Changes
TBD
## TODO
- The grammar is relatively complete with the exception of formal constraints.
- Currently no interaction with the `sdml` command-line tool.