Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rlou committed May 18, 2022
0 parents commit a6427fb
Show file tree
Hide file tree
Showing 11 changed files with 235 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Set default behavior to automatically normalize line endings.
* text=auto

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
*.vsix
17 changes: 17 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
]
}
]
}
4 changes: 4 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.vscode/**
.vscode-test/**
.gitignore
vsc-extension-quickstart.md
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Change Log

All notable changes to the "psl-lsp" extension will be documented in this file.

Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.

## [Unreleased]

- Initial release
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# psl-lsp README

Highligh property specification library for vscode
The code was almost totally copied from ghdl-language-server and I can't figure out why ghdl-language-server doesn't proper cover verification unit already

## Features

Cover verification units files vunit, vmode and vprop

Doesn't check sintax, just highligh the keywords

> 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.
### 0.0.1

Initial release of ...
30 changes: 30 additions & 0 deletions language-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"comments": {
// symbol used for single line comment. Remove this entry if your language does not support line comments
"lineComment": "//",
// symbols used for start and end a block comment. Remove this entry if your language does not support block comments
"blockComment": [ "/*", "*/" ]
},
// symbols used as brackets
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
// symbols that are auto closed when typing
"autoClosingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
],
// symbols that can be used to surround a selection
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""],
["'", "'"]
]
}
15 changes: 15 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "psl-lsp",
"displayName": "psl-lsp",
"description": "highlights for property specification language",
"version": "0.0.1",
"engines": {
"vscode": "^1.67.0"
},
"categories": [
"Programming Languages"
],
"contributes": {
"languages": [{
"id": "psl",
"aliases": ["psl", "psl"],
"extensions": [".psl"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "psl",
"scopeName": "source.psl",
"path": "./syntaxes/psl.tmLanguage.json"
}]
}
}
85 changes: 85 additions & 0 deletions syntaxes/psl.tmLanguage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "psl",
"patterns": [
{
"name": "comment.line.double-dash.psl",
"match": "--.*\\n"
},
{
"include": "#keywords"
},
{
"include": "#identifiers"
},
{
"include": "#strings"
}
],
"repository": {
"keywords": {
"patterns": [{
"name": "keyword.control.psl",
"match": "(?i)\\b(assert|next|if|then|else|elsif|exit|loop|while|case|for|report|return|wait)\\b"
},
{
"name": "keyword.mode.psl",
"match": "(?i)\\b(in|out|inout|buffer|linkage)\\b"
},
{
"name": "keyword.designunit.psl",
"match": "(?i)\\b(entity|package|body|architecture|configuration|vunit|vmode|vprop)\\b"
},
{
"name": "keyword.concurrent.psl",
"match": "(?i)\\b(process|generate|block|with|select)\\b"
},
{
"name": "keyword.type.psl",
"match": "(?i)\\b(access|array|protected|range|record|units)\\b"
},
{
"name": "keyword.other.psl",
"match": "(?i)\\b(context|parameter|postponed|disconnect|begin|end|is|of|others|all|use|to|downto|after|new|on|open|when|severity|until|map|bus|register|null)\\b"
},
{
"name": "keyword.operators.psl",
"match": "(?i)\\b(abs|and|nand|not|nor|or|xnor|xor|mod|rem|sll|srl|sla|sra|rol|ror)\\b"
},
{
"name": "storage.type.psl",
"match": "(?i)\\b(attribute|alias|group|signal|constant|variable|file|component|port|generic|procedure|function|pure|impure|shared|subtype|type|library)\\b"
},
{
"name": "keyword.assertions.psl",
"match": "(?i)\\b(default|clock|always|eventually|abort|never)\\b"
}]
},
"identifiers": {
"patterns": [{
"name": "entity.name.type.standard",
"match": "(?i)\\b(natural|integer|boolean|character|string|real|bit|bit_vector|time)\\b"
},
{
"name": "entity.name.type.ieee",
"match": "(?i)\\b(std_logic|std_logic_vector|std_ulogic|std_ulogic_vector|signed|unsigned)\\b"
},
{
"name": "identifier",
"match": "\\b([a-zA-Z][a-zA-Z0-9_]*)\\b"
}]
},
"strings": {
"name": "string.quoted.double.psl",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.psl",
"match": "\\\\."
}
]
}
},
"scopeName": "source.psl"
}
29 changes: 29 additions & 0 deletions vsc-extension-quickstart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Welcome to your VS Code Extension

## What's in the folder

* This folder contains all of the files necessary for your extension.
* `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.
* `syntaxes/psl.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization.
* `language-configuration.json` - this is the language configuration, defining the tokens that are used for comments and brackets.

## Get up and running straight away

* Make sure the language configuration settings in `language-configuration.json` are accurate.
* Press `F5` to open a new window with your extension loaded.
* Create a new file with a file name suffix matching your language.
* Verify that syntax highlighting works and that the language configuration settings are working.

## Make changes

* You can relaunch the extension from the debug toolbar after making changes to the files listed above.
* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes.

## Add more language features

* To add features such as intellisense, hovers and validators check out the VS Code extenders documentation at https://code.visualstudio.com/docs

## Install your extension

* To start using your extension with Visual Studio Code copy it into the `<user home>/.vscode/extensions` folder and restart Code.
* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension.

0 comments on commit a6427fb

Please sign in to comment.