-
Notifications
You must be signed in to change notification settings - Fork 4
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
Improve README and Other Markdown Files #58
Changes from 3 commits
bb20564
e7d8812
6d2690a
c89c329
3309246
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,64 @@ | ||
# Slice for Visual Studio Code | ||
|
||
This language extension adds support for highlighting Slice files within Visual Studio Code. | ||
It supports highlighting the following file types: | ||
This extension provides support for the Slice Interface Definition Language. | ||
InsertCreativityHere marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Features | ||
|
||
- Syntax highlighting | ||
- Syntax validation | ||
- Error detection & reporting | ||
- 'Go to Definition' jumping | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These two are There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I mention that in their sub-section later on: If you prefer it, I can find a way to add it to the main list, but I wanted to keep the bullet points short. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's fine. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would just write:
No jumping, no quotes. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it would be clearer to explain in this top section that most features only apply to .slice files. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did you push? |
||
|
||
### Syntax Highlighting and Validation | ||
|
||
This extension supports syntax highlighting and validation for the following Slice file types: | ||
|
||
- `.ice` files, which use the [original Slice](https://doc.zeroc.com/ice/latest/the-slice-language) syntax | ||
- `.slice` files, which use the [latest Slice](https://docs.icerpc.dev/slice2) syntax | ||
|
||
Additionally, this extension provides a Slice Language Server, for `.slice` files only. | ||
### Error Detection and Reporting | ||
|
||
Error checking is triggered every time a Slice file is saved or opened, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this line so short? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know, but I put it all on one line. |
||
and is only available for `.slice` files. | ||
|
||
## Configuration | ||
|
||
The Slice Language Server can be configured using the following settings: | ||
The Slice language server that ships with this extension can be configured with the following settings: | ||
|
||
- `slice.languageServer.enabled`: A boolean indicating whether the server should be enabled. Defaults to `true`. | ||
|
||
- `slice.configurations`: An array of configuration sets (independent groups of Slice files). This allows multiple Slice projects to exist within a single repository. Each configuration set supports the following settings: | ||
|
||
- `slice.languageServer.enabled`: A boolean indicating whether the Slice Language Server should be enabled. Defaults | ||
to `true`. | ||
- `slice.configurations`: An array of configuration sets. Configuration sets are independently compiled, allowing each | ||
to define its own files and options for compilation. | ||
- **Each configuration set is an object with the following properties:** | ||
- `paths`: An array containing the paths to the target Slice reference files. Also supports directory paths. | ||
- `addWellKnownTypes`: A boolean indicating whether to include the | ||
[IceRpc well-known Slice files](https://github.com/icerpc/icerpc-slice/tree/main/WellKnownTypes) during compilation. | ||
- `paths`: An array of paths to specify which Slice files should be included in this set. | ||
This field is required. | ||
|
||
- `addWellKnownTypes`: A boolean indicating whether to include the Slice definitions contained in the [IceRPC Slice](https://github.com/icerpc/icerpc-slice) repository. | ||
These types are commonly used in applications utilizing Slice. | ||
Defaults to `true`. | ||
|
||
If you do not specify any configuration sets, the extension will default to using the project's root directory for `paths`. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would use the present everywhere. No 'will'. The extension defaults to ... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I fixed the 2nd sentence, but left the 1st sentence as is. In it, the For example: |
||
|
||
**Note:** the language server only works with `.slice` files, and will ignore any `.ice` files in your project. The above settings are only meaningful for projects using `.slice` files. | ||
|
||
### Example | ||
|
||
Below is an example `settings.json` file which configures 2 separate Slice projects: | ||
|
||
```json | ||
{ | ||
"slice.languageServer.enabled": true, | ||
"slice.configurations": [ | ||
{ | ||
"paths": [ | ||
"path/to/slice/directory", | ||
"path/to/other/slice/file.slice", | ||
"/absolute/path/to/directory" | ||
], | ||
"addWellKnownTypes": true | ||
"path/to/slice/directory" | ||
] | ||
}, | ||
{ | ||
"addWellKnownTypes": false, | ||
"paths": [ | ||
"path/to/specific/file.slice", | ||
"/absolute/path/to/other/slice/files", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I prefer directory over files for a sample directory name. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. |
||
] | ||
} | ||
] | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why don't we just make
@vscode/vsce
a dev dependency? Do we need it for the build or just for the packaging?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's purely for packaging; after everything has been built, it just zips the files together into a
.vsix
package. That's all.The language server is built to be general purpose.
So, in the future we might support other editors, which would have their own packaging tools.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In that case it doesn't need this install step. You can just run with
npx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh! I didn't know that cool.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're going to remove it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops, I forgot to push my changes ._.