diff --git a/package.json b/package.json index 6e0768e6..d63c1c23 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,13 @@ }, "contributes": { + "iconThemes": [ + { + "id": "teroshdl-icons", + "label": "TerosHDL File Icons", + "path": "./resources/icon/teroshdl-icon-theme.json" + } + ], "viewsContainers": { "activitybar": [ { @@ -892,7 +899,18 @@ "mac": "command+delete", "when": "editorTextFocus" } - ] + ], + + "configuration": { + "title": "TerosHDL", + "properties": { + "teroshdl.fileIcons.enabled": { + "type": "boolean", + "default": true, + "markdownDescription": "Enable TerosHDL file icons. To apply changes:\n1. Open Command Palette (Ctrl+Shift+P)\n2. Type 'File Icon Theme'\n3. Select 'TerosHDL File Icons' to enable or 'None' to disable" + } + } + } }, "scripts": { diff --git a/resources/icon/dark/systemverilog.svg b/resources/icon/dark/systemverilog.svg new file mode 100644 index 00000000..ac9cd166 --- /dev/null +++ b/resources/icon/dark/systemverilog.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/icon/dark/tcl.svg b/resources/icon/dark/tcl.svg new file mode 100644 index 00000000..6fbc68e4 --- /dev/null +++ b/resources/icon/dark/tcl.svg @@ -0,0 +1,4 @@ + + +TCL + diff --git a/resources/icon/dark/ucf.svg b/resources/icon/dark/ucf.svg new file mode 100644 index 00000000..1e5950e8 --- /dev/null +++ b/resources/icon/dark/ucf.svg @@ -0,0 +1,4 @@ + + +UCF + diff --git a/resources/icon/dark/verilog.svg b/resources/icon/dark/verilog.svg index 6702f783..ac9cd166 100644 --- a/resources/icon/dark/verilog.svg +++ b/resources/icon/dark/verilog.svg @@ -1,3 +1,3 @@ - + diff --git a/resources/icon/dark/vhdl.svg b/resources/icon/dark/vhdl.svg new file mode 100644 index 00000000..5699362e --- /dev/null +++ b/resources/icon/dark/vhdl.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/icon/dark/xdc.svg b/resources/icon/dark/xdc.svg new file mode 100644 index 00000000..c1563ed7 --- /dev/null +++ b/resources/icon/dark/xdc.svg @@ -0,0 +1,4 @@ + + +XDC + diff --git a/resources/icon/light/systemverilog.svg b/resources/icon/light/systemverilog.svg new file mode 100644 index 00000000..ac9cd166 --- /dev/null +++ b/resources/icon/light/systemverilog.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/icon/light/tcl.svg b/resources/icon/light/tcl.svg new file mode 100644 index 00000000..6fbc68e4 --- /dev/null +++ b/resources/icon/light/tcl.svg @@ -0,0 +1,4 @@ + + +TCL + diff --git a/resources/icon/light/ucf.svg b/resources/icon/light/ucf.svg new file mode 100644 index 00000000..1e5950e8 --- /dev/null +++ b/resources/icon/light/ucf.svg @@ -0,0 +1,4 @@ + + +UCF + diff --git a/resources/icon/light/verilog.svg b/resources/icon/light/verilog.svg index 6702f783..ac9cd166 100644 --- a/resources/icon/light/verilog.svg +++ b/resources/icon/light/verilog.svg @@ -1,3 +1,3 @@ - + diff --git a/resources/icon/light/vhdl.svg b/resources/icon/light/vhdl.svg new file mode 100644 index 00000000..5699362e --- /dev/null +++ b/resources/icon/light/vhdl.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/icon/light/xdc.svg b/resources/icon/light/xdc.svg new file mode 100644 index 00000000..c1563ed7 --- /dev/null +++ b/resources/icon/light/xdc.svg @@ -0,0 +1,4 @@ + + +XDC + diff --git a/resources/icon/teroshdl-icon-theme.json b/resources/icon/teroshdl-icon-theme.json new file mode 100644 index 00000000..da7dd1e4 --- /dev/null +++ b/resources/icon/teroshdl-icon-theme.json @@ -0,0 +1,122 @@ +{ + "iconDefinitions": { + "_vhdl_file": { + "iconPath": "./light/vhdl.svg" + }, + "_vhdl_file_dark": { + "iconPath": "./dark/vhdl.svg" + }, + "_verilog_file": { + "iconPath": "./light/verilog.svg" + }, + "_verilog_file_dark": { + "iconPath": "./dark/verilog.svg" + }, + "_systemverilog_file": { + "iconPath": "./light/systemverilog.svg" + }, + "_systemverilog_file_dark": { + "iconPath": "./dark/systemverilog.svg" + }, + "_tcl_file": { + "iconPath": "./light/tcl.svg" + }, + "_tcl_file_dark": { + "iconPath": "./dark/tcl.svg" + }, + "_xdc_file": { + "iconPath": "./light/xdc.svg" + }, + "_xdc_file_dark": { + "iconPath": "./dark/xdc.svg" + }, + "_ucf_file": { + "iconPath": "./light/ucf.svg" + }, + "_ucf_file_dark": { + "iconPath": "./dark/ucf.svg" + } + }, + "fileExtensions": { + "vhd": "_vhdl_file", + "vhdl": "_vhdl_file", + "vho": "_vhdl_file", + "v": "_verilog_file", + "vh": "_verilog_file", + "vl": "_verilog_file", + "sv": "_systemverilog_file", + "svh": "_systemverilog_file", + "tcl": "_tcl_file", + "pro": "_tcl_file", + "xdc": "_xdc_file", + "sdc": "_xdc_file", + "ldc": "_xdc_file", + "pdc": "_xdc_file", + "ucf": "_ucf_file" + }, + "languageIds": { + "vhdl": "_vhdl_file", + "verilog": "_verilog_file", + "systemverilog": "_systemverilog_file", + "tcl": "_tcl_file", + "xdc": "_xdc_file", + "ldc": "_xdc_file", + "ucf": "_ucf_file" + }, + "light": { + "fileExtensions": { + "vhd": "_vhdl_file", + "vhdl": "_vhdl_file", + "vho": "_vhdl_file", + "v": "_verilog_file", + "vh": "_verilog_file", + "vl": "_verilog_file", + "sv": "_systemverilog_file", + "svh": "_systemverilog_file", + "tcl": "_tcl_file", + "pro": "_tcl_file", + "xdc": "_xdc_file", + "sdc": "_xdc_file", + "ldc": "_xdc_file", + "pdc": "_xdc_file", + "ucf": "_ucf_file" + }, + "languageIds": { + "vhdl": "_vhdl_file", + "verilog": "_verilog_file", + "systemverilog": "_systemverilog_file", + "tcl": "_tcl_file", + "xdc": "_xdc_file", + "ldc": "_xdc_file", + "ucf": "_ucf_file" + } + }, + "highContrast": { + "fileExtensions": { + "vhd": "_vhdl_file_dark", + "vhdl": "_vhdl_file_dark", + "vho": "_vhdl_file_dark", + "v": "_verilog_file_dark", + "vh": "_verilog_file_dark", + "vl": "_verilog_file_dark", + "sv": "_systemverilog_file_dark", + "svh": "_systemverilog_file_dark", + "tcl": "_tcl_file_dark", + "pro": "_tcl_file_dark", + "xdc": "_xdc_file_dark", + "sdc": "_xdc_file_dark", + "ldc": "_xdc_file_dark", + "pdc": "_xdc_file_dark", + "ucf": "_ucf_file_dark" + }, + "languageIds": { + "vhdl": "_vhdl_file_dark", + "verilog": "_verilog_file_dark", + "systemverilog": "_systemverilog_file_dark", + "tcl": "_tcl_file_dark", + "xdc": "_xdc_file_dark", + "ldc": "_xdc_file_dark", + "ucf": "_ucf_file_dark" + } + } +}