Skip to content

Commit ad6977e

Browse files
I cant believe we've got this far
1 parent f7d3a32 commit ad6977e

File tree

9 files changed

+198
-2
lines changed

9 files changed

+198
-2
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ whatever.s
1111
*.s
1212
*.o
1313
boot
14-
whatever
14+
whatever
15+
.vscode

astir/.vscodeignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.vscode/**
2+
.vscode-test/**
3+
.gitignore
4+
vsc-extension-quickstart.md

astir/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Change Log
2+
3+
All notable changes to the "astir" extension will be documented in this file.
4+
5+
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
6+
7+
## [Unreleased]
8+
9+
- Initial release

astir/README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# astir README
2+
3+
This is the README for your extension "astir". After writing up a brief description, we recommend including the following sections.
4+
5+
## Features
6+
7+
Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.
8+
9+
For example if there is an image subfolder under your extension project workspace:
10+
11+
\!\[feature X\]\(images/feature-x.png\)
12+
13+
> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow.
14+
15+
## Requirements
16+
17+
If you have any requirements or dependencies, add a section describing those and how to install and configure them.
18+
19+
## Extension Settings
20+
21+
Include if your extension adds any VS Code settings through the `contributes.configuration` extension point.
22+
23+
For example:
24+
25+
This extension contributes the following settings:
26+
27+
* `myExtension.enable`: Enable/disable this extension.
28+
* `myExtension.thing`: Set to `blah` to do something.
29+
30+
## Known Issues
31+
32+
Calling out known issues can help limit users opening duplicate issues against your extension.
33+
34+
## Release Notes
35+
36+
Users appreciate release notes as you update your extension.
37+
38+
### 1.0.0
39+
40+
Initial release of ...
41+
42+
### 1.0.1
43+
44+
Fixed issue #.
45+
46+
### 1.1.0
47+
48+
Added features X, Y, and Z.
49+
50+
---
51+
52+
## Working with Markdown
53+
54+
You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
55+
56+
* Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux).
57+
* Toggle preview (`Shift+Cmd+V` on macOS or `Shift+Ctrl+V` on Windows and Linux).
58+
* Press `Ctrl+Space` (Windows, Linux, macOS) to see a list of Markdown snippets.
59+
60+
## For more information
61+
62+
* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
63+
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)
64+
65+
**Enjoy!**

astir/language-configuration.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"comments": {
3+
// symbol used for single line comment. Remove this entry if your language does not support line comments
4+
"lineComment": "//",
5+
// symbols used for start and end a block comment. Remove this entry if your language does not support block comments
6+
"blockComment": [ "/*", "*/" ]
7+
},
8+
// symbols used as brackets
9+
"brackets": [
10+
["{", "}"],
11+
["[", "]"],
12+
["(", ")"]
13+
],
14+
// symbols that are auto closed when typing
15+
"autoClosingPairs": [
16+
["{", "}"],
17+
["[", "]"],
18+
["(", ")"],
19+
["\"", "\""],
20+
["'", "'"]
21+
],
22+
// symbols that can be used to surround a selection
23+
"surroundingPairs": [
24+
["{", "}"],
25+
["[", "]"],
26+
["(", ")"],
27+
["\"", "\""],
28+
["'", "'"]
29+
]
30+
}

astir/package.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"name": "astir",
3+
"displayName": "astir",
4+
"description": "",
5+
"version": "0.0.1",
6+
"engines": {
7+
"vscode": "^1.96.0"
8+
},
9+
"categories": [
10+
"Programming Languages"
11+
],
12+
"contributes": {
13+
"languages": [{
14+
"id": "astir",
15+
"aliases": ["Astir", "astir"],
16+
"extensions": [".dal"],
17+
"configuration": "./language-configuration.json"
18+
}],
19+
"grammars": [{
20+
"language": "astir",
21+
"scopeName": "",
22+
"path": "./syntaxes/astir.tmLanguage.json"
23+
}]
24+
}
25+
}

astir/syntaxes/astir.tmLanguage.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3+
"scopeName": "boot.dal",
4+
"name": "Astir",
5+
"patterns": [
6+
{
7+
"include": "#keywords"
8+
},
9+
{
10+
"include": "#strings"
11+
}
12+
],
13+
"repository": {
14+
"keywords": {
15+
"patterns": [{
16+
"name": "keyword.control.astir",
17+
"match": "\\b(if|while|for|return)\\b"
18+
}]
19+
},
20+
"strings": {
21+
"name": "string.quoted.double.astir",
22+
"begin": "\"",
23+
"end": "\"",
24+
"patterns": [
25+
{
26+
"name": "constant.character.escape.astir",
27+
"match": "\\\\."
28+
}
29+
]
30+
}
31+
},
32+
}

astir/vsc-extension-quickstart.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Welcome to your VS Code Extension
2+
3+
## What's in the folder
4+
5+
* This folder contains all of the files necessary for your extension.
6+
* `package.json` - this is the manifest file in which you declare your language support and define the location of the grammar file that has been copied into your extension.
7+
* `syntaxes/astir.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization.
8+
* `language-configuration.json` - this is the language configuration, defining the tokens that are used for comments and brackets.
9+
10+
## Get up and running straight away
11+
12+
* Make sure the language configuration settings in `language-configuration.json` are accurate.
13+
* Press `F5` to open a new window with your extension loaded.
14+
* Create a new file with a file name suffix matching your language.
15+
* Verify that syntax highlighting works and that the language configuration settings are working.
16+
17+
## Make changes
18+
19+
* You can relaunch the extension from the debug toolbar after making changes to the files listed above.
20+
* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes.
21+
22+
## Add more language features
23+
24+
* To add features such as IntelliSense, hovers and validators check out the VS Code extenders documentation at https://code.visualstudio.com/docs
25+
26+
## Install your extension
27+
28+
* To start using your extension with Visual Studio Code copy it into the `<user home>/.vscode/extensions` folder and restart Code.
29+
* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension.

boot.dal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
//take_int_and_add_2\ x int, y int :: int → x + y
88

99
print_hello_world\ :: () → asm ["mov X0, #1", "adr X1, helloworld", "mov X2, #13", "mov X16, #4", "svc 0", "ret"]
10-
_start\ :: int → asm ["bl print_hello_world", "mov X0, #0", "mov X16, #1", "svc 0", "helloworld: .ascii \"Hello World!\""]
10+
_start\ :: int → asm ["bl print_hello_world", "mov X0, #0", "mov X16, #1", "svc 0", "helloworld: .ascii \"Hello World!\""]
11+

0 commit comments

Comments
 (0)