diff --git a/CHANGELOG.md b/CHANGELOG.md index 399faa40..5c05c8f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,11 @@ More details can be found on the [Releases](https://github.com/eirikpre/VSCode-S - 💡 Back-end Language Server for Systemverilog - 💡 Complete syntax highlighting +### [0.13.8] + +- Corrected icons for light themes by `joecrop` +- Added basic syntax highlighting for .f files by `joecrop` + ### [0.13.7] - Added missing filetype icons by `joecrop` diff --git a/language-configuration.json b/configs/systemVerilog.json similarity index 100% rename from language-configuration.json rename to configs/systemVerilog.json diff --git a/configs/verilogFileList.json b/configs/verilogFileList.json new file mode 100644 index 00000000..74d76db4 --- /dev/null +++ b/configs/verilogFileList.json @@ -0,0 +1,5 @@ +{ + "comments": { + "lineComment": ["//", "#"] + } +} \ No newline at end of file diff --git a/package.json b/package.json index e844f992..6cc247c3 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "systemverilog", "displayName": "SystemVerilog - Language Support", "description": "Language support for Verilog and SystemVerilog.", - "version": "0.13.7", + "version": "0.13.8", "publisher": "eirikpre", "author": { "name": "Eirik Prestegårdshus", @@ -55,10 +55,10 @@ "extensions": [ ".sv" ], - "configuration": "./language-configuration.json", + "configuration": "./configs/systemVerilog.json", "icon": { - "light": "./resources/sv.svg", - "dark": "./resources/sv.svg" + "light": "./resources/sv_light.svg", + "dark": "./resources/sv_dark.svg" } }, { @@ -72,10 +72,10 @@ "extensions": [ ".svh" ], - "configuration": "./language-configuration.json", + "configuration": "./configs/systemVerilog.json", "icon": { - "light": "./resources/svh.svg", - "dark": "./resources/svh.svg" + "light": "./resources/svh_light.svg", + "dark": "./resources/svh_dark.svg" } }, { @@ -87,10 +87,10 @@ "extensions": [ ".v" ], - "configuration": "./language-configuration.json", + "configuration": "./configs/systemVerilog.json", "icon": { - "light": "./resources/v.svg", - "dark": "./resources/v.svg" + "light": "./resources/v_light.svg", + "dark": "./resources/v_dark.svg" } }, { @@ -102,10 +102,10 @@ "extensions": [ ".vh" ], - "configuration": "./language-configuration.json", + "configuration": "./configs/systemVerilog.json", "icon": { - "light": "./resources/vh-light.svg", - "dark": "./resources/vh-dark.svg" + "light": "./resources/vh_light.svg", + "dark": "./resources/vh_dark.svg" } }, { @@ -118,7 +118,7 @@ "extensions": [ ".vams" ], - "configuration": "./language-configuration.json", + "configuration": "./configs/systemVerilog.json", "icon": { "light": "./resources/vams.svg", "dark": "./resources/vams.svg" @@ -134,11 +134,27 @@ "extensions": [ ".va" ], - "configuration": "./language-configuration.json", + "configuration": "./configs/systemVerilog.json", "icon": { "light": "./resources/va.svg", "dark": "./resources/va.svg" } + }, + { + "id": "verilog-filelist", + "aliases": [ + "Verilog Filelist", + "verilog-filelist", + "Dot-F File" + ], + "extensions": [ + ".f" + ], + "configuration": "./configs/verilogFileList.json", + "icon": { + "light": "./resources/f_light.svg", + "dark": "./resources/f_dark.svg" + } } ], "snippets": [ @@ -200,6 +216,11 @@ "meta.embedded.block.systemverilog": "source.systemverilog", "meta.embedded.block.verilog": "source.verilog" } + }, + { + "language": "verilog-filelist", + "scopeName": "source.verilog-filelist", + "path": "./syntaxes/verilog-filelist.json" } ], "configuration": [ diff --git a/resources/VSCode_SystemVerilog_Icons.fig b/resources/VSCode_SystemVerilog_Icons.fig new file mode 100644 index 00000000..4d797114 Binary files /dev/null and b/resources/VSCode_SystemVerilog_Icons.fig differ diff --git a/resources/f_dark.svg b/resources/f_dark.svg new file mode 100644 index 00000000..b6607749 --- /dev/null +++ b/resources/f_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/f_light.svg b/resources/f_light.svg new file mode 100644 index 00000000..0e7bf608 --- /dev/null +++ b/resources/f_light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/sv.svg b/resources/sv_dark.svg similarity index 94% rename from resources/sv.svg rename to resources/sv_dark.svg index 8693b223..daaf5a58 100644 --- a/resources/sv.svg +++ b/resources/sv_dark.svg @@ -1,4 +1,3 @@ - diff --git a/resources/sv_light.svg b/resources/sv_light.svg new file mode 100644 index 00000000..daaf5a58 --- /dev/null +++ b/resources/sv_light.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/svh.svg b/resources/svh_dark.svg similarity index 93% rename from resources/svh.svg rename to resources/svh_dark.svg index 777bcbf9..b3e5a6ff 100644 --- a/resources/svh.svg +++ b/resources/svh_dark.svg @@ -1,5 +1,4 @@ - - + diff --git a/resources/vh-dark.svg b/resources/svh_light.svg similarity index 91% rename from resources/vh-dark.svg rename to resources/svh_light.svg index db2445e1..2526361e 100644 --- a/resources/vh-dark.svg +++ b/resources/svh_light.svg @@ -1,5 +1,4 @@ - - - + + diff --git a/resources/v.svg b/resources/v_dark.svg similarity index 94% rename from resources/v.svg rename to resources/v_dark.svg index 891d72a3..69a898ab 100644 --- a/resources/v.svg +++ b/resources/v_dark.svg @@ -1,4 +1,3 @@ - diff --git a/resources/v_light.svg b/resources/v_light.svg new file mode 100644 index 00000000..69a898ab --- /dev/null +++ b/resources/v_light.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/va.svg b/resources/va.svg index 8bb511fb..a04573fe 100644 --- a/resources/va.svg +++ b/resources/va.svg @@ -1,4 +1,3 @@ - diff --git a/resources/vams.svg b/resources/vams.svg index 98f16258..2ff9ff3f 100644 --- a/resources/vams.svg +++ b/resources/vams.svg @@ -1,4 +1,3 @@ - diff --git a/resources/vh-light.svg b/resources/vh_dark.svg similarity index 93% rename from resources/vh-light.svg rename to resources/vh_dark.svg index 31749277..163f64ea 100644 --- a/resources/vh-light.svg +++ b/resources/vh_dark.svg @@ -1,5 +1,4 @@ - - + diff --git a/resources/vh.svg b/resources/vh_light.svg similarity index 93% rename from resources/vh.svg rename to resources/vh_light.svg index a7472641..9aafb5fe 100644 --- a/resources/vh.svg +++ b/resources/vh_light.svg @@ -1,5 +1,4 @@ - - + diff --git a/syntaxes/verilog-filelist.json b/syntaxes/verilog-filelist.json new file mode 100644 index 00000000..9ab0f36c --- /dev/null +++ b/syntaxes/verilog-filelist.json @@ -0,0 +1,67 @@ +{ + "fileTypes": [ + "f" + ], + "name": "verilog-filelist", + "scopeName": "source.verilog-filelist", + "patterns": [ + { + "match": "^\\s*//.*$", + "name": "comment.line" + }, + { + "match": "^\\s*#.*$", + "name": "comment.line" + }, + { + "match": "^\\s*-f\\s", + "name": "keyword" + }, + { + "match": "^\\s*-v\\s", + "name": "keyword" + }, + { + "match": "^\\s*-F\\s", + "name": "keyword" + }, + { + "match": "(\\$\\()(\\w*)(\\))", + "captures": { + "1": {"name": "variable.other.constant"}, + "2": {"name": "variable"}, + "3": {"name": "variable.other.constant"} + } + }, + { + "match": "(\\$\\{)(\\w*)(\\})", + "captures": { + "1": {"name": "variable.other.constant"}, + "2": {"name": "variable"}, + "3": {"name": "variable.other.constant"} + } + }, + { + "match": "\\+incdir\\+", + "name": "entity.name.function" + }, + { + "match": "\\-incdir\\s", + "name": "entity.name.function" + }, + { + "match": "(-define)\\s(.*)\\s*", + "captures": { + "1": {"name": "entity.name.type"}, + "2": {"name": "variable.other.constant"} + } + }, + { + "match": "(\\+define\\+)\\s*(.*)\\s*", + "captures": { + "1": {"name": "entity.name.type"}, + "2": {"name": "variable.other.constant"} + } + } + ] +} \ No newline at end of file diff --git a/verilog-examples/fiellist.f b/verilog-examples/fiellist.f new file mode 100644 index 00000000..a3ad5a23 --- /dev/null +++ b/verilog-examples/fiellist.f @@ -0,0 +1,9 @@ +// A great comment +-f ./${dirname}/my_files.f +-F $(MY_PATH)/my_relative_files.f +-v a_verilog_file.v +-define SYNTHESIS +# another comment +-incdir ./rtl ++incdir+ ./include ++define+NO_PORTS