From 73173f7a5e22cb23ca6c1311ccce9445c6322d1c Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 14:46:32 -0300 Subject: [PATCH 01/11] =?UTF-8?q?=F0=9F=93=A6=20NPM-#21:=20Add=20@vscode/c?= =?UTF-8?q?odicons=20dependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 8 ++++++++ package.json | 1 + 2 files changed, 9 insertions(+) diff --git a/package-lock.json b/package-lock.json index 49800e7..6ee606e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@eslint/js": "^9.39.5", "@types/node": "^20.11.0", "@types/vscode": "^1.85.0", + "@vscode/codicons": "^0.0.46-24", "eslint": "^9.39.5", "globals": "^15.15.0", "typescript": "^5.4.0", @@ -558,6 +559,13 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@vscode/codicons": { + "version": "0.0.46-24", + "resolved": "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.46-24.tgz", + "integrity": "sha512-KIDWUYxG6eh+DHRg+3G4bS487T+g1ZkLfB4HylOBbCcHsvLdfLMRM/m92DS1Ljhi8nglLr9ucwwWhHTEAC+DpA==", + "dev": true, + "license": "CC-BY-4.0" + }, "node_modules/acorn": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", diff --git a/package.json b/package.json index 471c7eb..3f31291 100644 --- a/package.json +++ b/package.json @@ -196,6 +196,7 @@ "@eslint/js": "^9.39.5", "@types/node": "^20.11.0", "@types/vscode": "^1.85.0", + "@vscode/codicons": "^0.0.46-24", "eslint": "^9.39.5", "globals": "^15.15.0", "typescript": "^5.4.0", From bb10a30bd8ea65c4bca1366f9458a9a533b04ae1 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 14:46:34 -0300 Subject: [PATCH 02/11] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20FEATURE-#21:=20Vendo?= =?UTF-8?q?r=20the=20codicon=20font=20and=20stylesheet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- media/codicon/codicon.css | 805 ++++++++++++++++++++++++++++++++++++++ media/codicon/codicon.ttf | Bin 0 -> 149508 bytes 2 files changed, 805 insertions(+) create mode 100644 media/codicon/codicon.css create mode 100644 media/codicon/codicon.ttf diff --git a/media/codicon/codicon.css b/media/codicon/codicon.css new file mode 100644 index 0000000..33998bb --- /dev/null +++ b/media/codicon/codicon.css @@ -0,0 +1,805 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +@font-face { + font-family: "codicon"; + font-display: block; + src: url("./codicon.ttf?9aab6318a6710999273bab9c78a9fd71") format("truetype"); +} + +.codicon[class*='codicon-'] { + font: normal normal normal 16px/1 codicon; + display: inline-block; + text-decoration: none; + text-rendering: auto; + text-align: center; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +/*--------------------- + * Modifiers + *-------------------*/ + +@keyframes codicon-spin { + 100% { + transform:rotate(360deg); + } +} + +.codicon-sync.codicon-modifier-spin, +.codicon-loading.codicon-modifier-spin, +.codicon-gear.codicon-modifier-spin { + /* Use steps to throttle FPS to reduce CPU usage */ + animation: codicon-spin 1.5s steps(30) infinite; +} + +.codicon-modifier-disabled { + opacity: 0.5; +} + +.codicon-modifier-hidden { + opacity: 0; +} + +/* custom speed & easing for loading icon */ +.codicon-loading { + animation-duration: 1s !important; + animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important; +} + +/*--------------------- + * Icons + *-------------------*/ + +.codicon-add:before { content: "\ea60" } +.codicon-plus:before { content: "\ea60" } +.codicon-gist-new:before { content: "\ea60" } +.codicon-repo-create:before { content: "\ea60" } +.codicon-lightbulb:before { content: "\ea61" } +.codicon-light-bulb:before { content: "\ea61" } +.codicon-repo:before { content: "\ea62" } +.codicon-repo-delete:before { content: "\ea62" } +.codicon-gist-fork:before { content: "\ea63" } +.codicon-repo-forked:before { content: "\ea63" } +.codicon-git-pull-request:before { content: "\ea64" } +.codicon-git-pull-request-abandoned:before { content: "\ea64" } +.codicon-record-keys:before { content: "\ea65" } +.codicon-keyboard:before { content: "\ea65" } +.codicon-tag:before { content: "\ea66" } +.codicon-git-pull-request-label:before { content: "\ea66" } +.codicon-tag-add:before { content: "\ea66" } +.codicon-tag-remove:before { content: "\ea66" } +.codicon-person:before { content: "\ea67" } +.codicon-person-follow:before { content: "\ea67" } +.codicon-person-outline:before { content: "\ea67" } +.codicon-person-filled:before { content: "\ea67" } +.codicon-source-control:before { content: "\ea68" } +.codicon-mirror:before { content: "\ea69" } +.codicon-mirror-public:before { content: "\ea69" } +.codicon-star:before { content: "\ea6a" } +.codicon-star-add:before { content: "\ea6a" } +.codicon-star-delete:before { content: "\ea6a" } +.codicon-star-empty:before { content: "\ea6a" } +.codicon-comment:before { content: "\ea6b" } +.codicon-comment-add:before { content: "\ea6b" } +.codicon-alert:before { content: "\ea6c" } +.codicon-warning:before { content: "\ea6c" } +.codicon-search:before { content: "\ea6d" } +.codicon-search-save:before { content: "\ea6d" } +.codicon-log-out:before { content: "\ea6e" } +.codicon-sign-out:before { content: "\ea6e" } +.codicon-log-in:before { content: "\ea6f" } +.codicon-sign-in:before { content: "\ea6f" } +.codicon-eye:before { content: "\ea70" } +.codicon-eye-unwatch:before { content: "\ea70" } +.codicon-eye-watch:before { content: "\ea70" } +.codicon-circle-filled:before { content: "\ea71" } +.codicon-primitive-dot:before { content: "\ea71" } +.codicon-close-dirty:before { content: "\ea71" } +.codicon-debug-breakpoint:before { content: "\ea71" } +.codicon-debug-breakpoint-disabled:before { content: "\ea71" } +.codicon-debug-hint:before { content: "\ea71" } +.codicon-terminal-decoration-success:before { content: "\ea71" } +.codicon-primitive-square:before { content: "\ea72" } +.codicon-edit:before { content: "\ea73" } +.codicon-pencil:before { content: "\ea73" } +.codicon-info:before { content: "\ea74" } +.codicon-issue-opened:before { content: "\ea74" } +.codicon-gist-private:before { content: "\ea75" } +.codicon-git-fork-private:before { content: "\ea75" } +.codicon-lock:before { content: "\ea75" } +.codicon-mirror-private:before { content: "\ea75" } +.codicon-close:before { content: "\ea76" } +.codicon-remove-close:before { content: "\ea76" } +.codicon-x:before { content: "\ea76" } +.codicon-repo-sync:before { content: "\ea77" } +.codicon-sync:before { content: "\ea77" } +.codicon-clone:before { content: "\ea78" } +.codicon-desktop-download:before { content: "\ea78" } +.codicon-beaker:before { content: "\ea79" } +.codicon-microscope:before { content: "\ea79" } +.codicon-vm:before { content: "\ea7a" } +.codicon-device-desktop:before { content: "\ea7a" } +.codicon-file:before { content: "\ea7b" } +.codicon-more:before { content: "\ea7c" } +.codicon-ellipsis:before { content: "\ea7c" } +.codicon-kebab-horizontal:before { content: "\ea7c" } +.codicon-mail-reply:before { content: "\ea7d" } +.codicon-reply:before { content: "\ea7d" } +.codicon-organization:before { content: "\ea7e" } +.codicon-organization-filled:before { content: "\ea7e" } +.codicon-organization-outline:before { content: "\ea7e" } +.codicon-new-file:before { content: "\ea7f" } +.codicon-file-add:before { content: "\ea7f" } +.codicon-new-folder:before { content: "\ea80" } +.codicon-file-directory-create:before { content: "\ea80" } +.codicon-trash:before { content: "\ea81" } +.codicon-trashcan:before { content: "\ea81" } +.codicon-history:before { content: "\ea82" } +.codicon-clock:before { content: "\ea82" } +.codicon-folder:before { content: "\ea83" } +.codicon-file-directory:before { content: "\ea83" } +.codicon-symbol-folder:before { content: "\ea83" } +.codicon-logo-github:before { content: "\ea84" } +.codicon-mark-github:before { content: "\ea84" } +.codicon-github:before { content: "\ea84" } +.codicon-terminal:before { content: "\ea85" } +.codicon-console:before { content: "\ea85" } +.codicon-repl:before { content: "\ea85" } +.codicon-zap:before { content: "\ea86" } +.codicon-symbol-event:before { content: "\ea86" } +.codicon-error:before { content: "\ea87" } +.codicon-stop:before { content: "\ea87" } +.codicon-variable:before { content: "\ea88" } +.codicon-symbol-variable:before { content: "\ea88" } +.codicon-array:before { content: "\ea8a" } +.codicon-symbol-array:before { content: "\ea8a" } +.codicon-symbol-module:before { content: "\ea8b" } +.codicon-symbol-package:before { content: "\ea8b" } +.codicon-symbol-namespace:before { content: "\ea8b" } +.codicon-symbol-object:before { content: "\ea8b" } +.codicon-symbol-method:before { content: "\ea8c" } +.codicon-symbol-function:before { content: "\ea8c" } +.codicon-symbol-constructor:before { content: "\ea8c" } +.codicon-symbol-boolean:before { content: "\ea8f" } +.codicon-symbol-null:before { content: "\ea8f" } +.codicon-symbol-numeric:before { content: "\ea90" } +.codicon-symbol-number:before { content: "\ea90" } +.codicon-symbol-structure:before { content: "\ea91" } +.codicon-symbol-struct:before { content: "\ea91" } +.codicon-symbol-parameter:before { content: "\ea92" } +.codicon-symbol-type-parameter:before { content: "\ea92" } +.codicon-symbol-key:before { content: "\ea93" } +.codicon-symbol-text:before { content: "\ea93" } +.codicon-symbol-reference:before { content: "\ea94" } +.codicon-go-to-file:before { content: "\ea94" } +.codicon-symbol-enum:before { content: "\ea95" } +.codicon-symbol-value:before { content: "\ea95" } +.codicon-symbol-ruler:before { content: "\ea96" } +.codicon-symbol-unit:before { content: "\ea96" } +.codicon-activate-breakpoints:before { content: "\ea97" } +.codicon-archive:before { content: "\ea98" } +.codicon-arrow-both:before { content: "\ea99" } +.codicon-arrow-down:before { content: "\ea9a" } +.codicon-arrow-left:before { content: "\ea9b" } +.codicon-arrow-right:before { content: "\ea9c" } +.codicon-arrow-small-down:before { content: "\ea9d" } +.codicon-arrow-small-left:before { content: "\ea9e" } +.codicon-arrow-small-right:before { content: "\ea9f" } +.codicon-arrow-small-up:before { content: "\eaa0" } +.codicon-arrow-up:before { content: "\eaa1" } +.codicon-bell:before { content: "\eaa2" } +.codicon-bold:before { content: "\eaa3" } +.codicon-book:before { content: "\eaa4" } +.codicon-bookmark:before { content: "\eaa5" } +.codicon-debug-breakpoint-conditional-unverified:before { content: "\eaa6" } +.codicon-debug-breakpoint-conditional:before { content: "\eaa7" } +.codicon-debug-breakpoint-conditional-disabled:before { content: "\eaa7" } +.codicon-debug-breakpoint-data-unverified:before { content: "\eaa8" } +.codicon-debug-breakpoint-data:before { content: "\eaa9" } +.codicon-debug-breakpoint-data-disabled:before { content: "\eaa9" } +.codicon-debug-breakpoint-log-unverified:before { content: "\eaaa" } +.codicon-debug-breakpoint-log:before { content: "\eaab" } +.codicon-debug-breakpoint-log-disabled:before { content: "\eaab" } +.codicon-briefcase:before { content: "\eaac" } +.codicon-broadcast:before { content: "\eaad" } +.codicon-browser:before { content: "\eaae" } +.codicon-bug:before { content: "\eaaf" } +.codicon-calendar:before { content: "\eab0" } +.codicon-case-sensitive:before { content: "\eab1" } +.codicon-check:before { content: "\eab2" } +.codicon-checklist:before { content: "\eab3" } +.codicon-chevron-down:before { content: "\eab4" } +.codicon-chevron-left:before { content: "\eab5" } +.codicon-chevron-right:before { content: "\eab6" } +.codicon-chevron-up:before { content: "\eab7" } +.codicon-chrome-close:before { content: "\eab8" } +.codicon-chrome-maximize:before { content: "\eab9" } +.codicon-chrome-minimize:before { content: "\eaba" } +.codicon-chrome-restore:before { content: "\eabb" } +.codicon-circle-outline:before { content: "\eabc" } +.codicon-circle:before { content: "\eabc" } +.codicon-debug-breakpoint-unverified:before { content: "\eabc" } +.codicon-terminal-decoration-incomplete:before { content: "\eabc" } +.codicon-circle-slash:before { content: "\eabd" } +.codicon-circuit-board:before { content: "\eabe" } +.codicon-clear-all:before { content: "\eabf" } +.codicon-clippy:before { content: "\eac0" } +.codicon-close-all:before { content: "\eac1" } +.codicon-cloud-download:before { content: "\eac2" } +.codicon-cloud-upload:before { content: "\eac3" } +.codicon-code:before { content: "\eac4" } +.codicon-collapse-all:before { content: "\eac5" } +.codicon-color-mode:before { content: "\eac6" } +.codicon-comment-discussion:before { content: "\eac7" } +.codicon-credit-card:before { content: "\eac9" } +.codicon-dash:before { content: "\eacc" } +.codicon-dashboard:before { content: "\eacd" } +.codicon-database:before { content: "\eace" } +.codicon-debug-continue:before { content: "\eacf" } +.codicon-debug-disconnect:before { content: "\ead0" } +.codicon-debug-pause:before { content: "\ead1" } +.codicon-debug-restart:before { content: "\ead2" } +.codicon-debug-start:before { content: "\ead3" } +.codicon-debug-step-into:before { content: "\ead4" } +.codicon-debug-step-out:before { content: "\ead5" } +.codicon-debug-step-over:before { content: "\ead6" } +.codicon-debug-stop:before { content: "\ead7" } +.codicon-debug:before { content: "\ead8" } +.codicon-device-camera-video:before { content: "\ead9" } +.codicon-device-camera:before { content: "\eada" } +.codicon-device-mobile:before { content: "\eadb" } +.codicon-diff-added:before { content: "\eadc" } +.codicon-diff-ignored:before { content: "\eadd" } +.codicon-diff-modified:before { content: "\eade" } +.codicon-diff-removed:before { content: "\eadf" } +.codicon-diff-renamed:before { content: "\eae0" } +.codicon-diff:before { content: "\eae1" } +.codicon-diff-sidebyside:before { content: "\eae1" } +.codicon-discard:before { content: "\eae2" } +.codicon-editor-layout:before { content: "\eae3" } +.codicon-empty-window:before { content: "\eae4" } +.codicon-exclude:before { content: "\eae5" } +.codicon-extensions:before { content: "\eae6" } +.codicon-eye-closed:before { content: "\eae7" } +.codicon-file-binary:before { content: "\eae8" } +.codicon-file-code:before { content: "\eae9" } +.codicon-file-media:before { content: "\eaea" } +.codicon-file-pdf:before { content: "\eaeb" } +.codicon-file-submodule:before { content: "\eaec" } +.codicon-file-symlink-directory:before { content: "\eaed" } +.codicon-file-symlink-file:before { content: "\eaee" } +.codicon-file-zip:before { content: "\eaef" } +.codicon-files:before { content: "\eaf0" } +.codicon-filter:before { content: "\eaf1" } +.codicon-flame:before { content: "\eaf2" } +.codicon-fold-down:before { content: "\eaf3" } +.codicon-fold-up:before { content: "\eaf4" } +.codicon-fold:before { content: "\eaf5" } +.codicon-folder-active:before { content: "\eaf6" } +.codicon-folder-opened:before { content: "\eaf7" } +.codicon-gear:before { content: "\eaf8" } +.codicon-gift:before { content: "\eaf9" } +.codicon-gist-secret:before { content: "\eafa" } +.codicon-gist:before { content: "\eafb" } +.codicon-git-commit:before { content: "\eafc" } +.codicon-git-compare:before { content: "\eafd" } +.codicon-compare-changes:before { content: "\eafd" } +.codicon-git-merge:before { content: "\eafe" } +.codicon-github-action:before { content: "\eaff" } +.codicon-github-alt:before { content: "\eb00" } +.codicon-globe:before { content: "\eb01" } +.codicon-grabber:before { content: "\eb02" } +.codicon-graph:before { content: "\eb03" } +.codicon-gripper:before { content: "\eb04" } +.codicon-heart:before { content: "\eb05" } +.codicon-home:before { content: "\eb06" } +.codicon-horizontal-rule:before { content: "\eb07" } +.codicon-hubot:before { content: "\eb08" } +.codicon-inbox:before { content: "\eb09" } +.codicon-issue-reopened:before { content: "\eb0b" } +.codicon-issues:before { content: "\eb0c" } +.codicon-italic:before { content: "\eb0d" } +.codicon-jersey:before { content: "\eb0e" } +.codicon-json:before { content: "\eb0f" } +.codicon-bracket:before { content: "\eb0f" } +.codicon-kebab-vertical:before { content: "\eb10" } +.codicon-key:before { content: "\eb11" } +.codicon-law:before { content: "\eb12" } +.codicon-lightbulb-autofix:before { content: "\eb13" } +.codicon-link-external:before { content: "\eb14" } +.codicon-link:before { content: "\eb15" } +.codicon-list-ordered:before { content: "\eb16" } +.codicon-list-unordered:before { content: "\eb17" } +.codicon-live-share:before { content: "\eb18" } +.codicon-loading:before { content: "\eb19" } +.codicon-location:before { content: "\eb1a" } +.codicon-mail-read:before { content: "\eb1b" } +.codicon-mail:before { content: "\eb1c" } +.codicon-markdown:before { content: "\eb1d" } +.codicon-megaphone:before { content: "\eb1e" } +.codicon-mention:before { content: "\eb1f" } +.codicon-milestone:before { content: "\eb20" } +.codicon-git-pull-request-milestone:before { content: "\eb20" } +.codicon-mortar-board:before { content: "\eb21" } +.codicon-move:before { content: "\eb22" } +.codicon-multiple-windows:before { content: "\eb23" } +.codicon-mute:before { content: "\eb24" } +.codicon-no-newline:before { content: "\eb25" } +.codicon-note:before { content: "\eb26" } +.codicon-octoface:before { content: "\eb27" } +.codicon-open-preview:before { content: "\eb28" } +.codicon-package:before { content: "\eb29" } +.codicon-paintcan:before { content: "\eb2a" } +.codicon-pin:before { content: "\eb2b" } +.codicon-play:before { content: "\eb2c" } +.codicon-run:before { content: "\eb2c" } +.codicon-plug:before { content: "\eb2d" } +.codicon-preserve-case:before { content: "\eb2e" } +.codicon-preview:before { content: "\eb2f" } +.codicon-project:before { content: "\eb30" } +.codicon-pulse:before { content: "\eb31" } +.codicon-question:before { content: "\eb32" } +.codicon-quote:before { content: "\eb33" } +.codicon-radio-tower:before { content: "\eb34" } +.codicon-reactions:before { content: "\eb35" } +.codicon-references:before { content: "\eb36" } +.codicon-refresh:before { content: "\eb37" } +.codicon-regex:before { content: "\eb38" } +.codicon-remote-explorer:before { content: "\eb39" } +.codicon-remote:before { content: "\eb3a" } +.codicon-remove:before { content: "\eb3b" } +.codicon-replace-all:before { content: "\eb3c" } +.codicon-replace:before { content: "\eb3d" } +.codicon-repo-clone:before { content: "\eb3e" } +.codicon-repo-force-push:before { content: "\eb3f" } +.codicon-repo-pull:before { content: "\eb40" } +.codicon-repo-push:before { content: "\eb41" } +.codicon-report:before { content: "\eb42" } +.codicon-request-changes:before { content: "\eb43" } +.codicon-rocket:before { content: "\eb44" } +.codicon-root-folder-opened:before { content: "\eb45" } +.codicon-root-folder:before { content: "\eb46" } +.codicon-rss:before { content: "\eb47" } +.codicon-ruby:before { content: "\eb48" } +.codicon-save-all:before { content: "\eb49" } +.codicon-save-as:before { content: "\eb4a" } +.codicon-save:before { content: "\eb4b" } +.codicon-screen-full:before { content: "\eb4c" } +.codicon-screen-normal:before { content: "\eb4d" } +.codicon-search-stop:before { content: "\eb4e" } +.codicon-server:before { content: "\eb50" } +.codicon-settings-gear:before { content: "\eb51" } +.codicon-settings:before { content: "\eb52" } +.codicon-shield:before { content: "\eb53" } +.codicon-smiley:before { content: "\eb54" } +.codicon-sort-precedence:before { content: "\eb55" } +.codicon-split-horizontal:before { content: "\eb56" } +.codicon-split-vertical:before { content: "\eb57" } +.codicon-squirrel:before { content: "\eb58" } +.codicon-star-full:before { content: "\eb59" } +.codicon-star-half:before { content: "\eb5a" } +.codicon-symbol-class:before { content: "\eb5b" } +.codicon-symbol-color:before { content: "\eb5c" } +.codicon-symbol-constant:before { content: "\eb5d" } +.codicon-symbol-enum-member:before { content: "\eb5e" } +.codicon-symbol-field:before { content: "\eb5f" } +.codicon-symbol-file:before { content: "\eb60" } +.codicon-symbol-interface:before { content: "\eb61" } +.codicon-symbol-keyword:before { content: "\eb62" } +.codicon-symbol-misc:before { content: "\eb63" } +.codicon-symbol-operator:before { content: "\eb64" } +.codicon-symbol-property:before { content: "\eb65" } +.codicon-wrench:before { content: "\eb65" } +.codicon-wrench-subaction:before { content: "\eb65" } +.codicon-symbol-snippet:before { content: "\eb66" } +.codicon-tasklist:before { content: "\eb67" } +.codicon-telescope:before { content: "\eb68" } +.codicon-text-size:before { content: "\eb69" } +.codicon-three-bars:before { content: "\eb6a" } +.codicon-thumbsdown:before { content: "\eb6b" } +.codicon-thumbsup:before { content: "\eb6c" } +.codicon-tools:before { content: "\eb6d" } +.codicon-triangle-down:before { content: "\eb6e" } +.codicon-triangle-left:before { content: "\eb6f" } +.codicon-triangle-right:before { content: "\eb70" } +.codicon-triangle-up:before { content: "\eb71" } +.codicon-twitter:before { content: "\eb72" } +.codicon-unfold:before { content: "\eb73" } +.codicon-unlock:before { content: "\eb74" } +.codicon-unmute:before { content: "\eb75" } +.codicon-unverified:before { content: "\eb76" } +.codicon-verified:before { content: "\eb77" } +.codicon-versions:before { content: "\eb78" } +.codicon-vm-active:before { content: "\eb79" } +.codicon-vm-outline:before { content: "\eb7a" } +.codicon-vm-running:before { content: "\eb7b" } +.codicon-watch:before { content: "\eb7c" } +.codicon-whitespace:before { content: "\eb7d" } +.codicon-whole-word:before { content: "\eb7e" } +.codicon-window:before { content: "\eb7f" } +.codicon-word-wrap:before { content: "\eb80" } +.codicon-zoom-in:before { content: "\eb81" } +.codicon-zoom-out:before { content: "\eb82" } +.codicon-list-filter:before { content: "\eb83" } +.codicon-list-flat:before { content: "\eb84" } +.codicon-list-selection:before { content: "\eb85" } +.codicon-selection:before { content: "\eb85" } +.codicon-list-tree:before { content: "\eb86" } +.codicon-debug-breakpoint-function-unverified:before { content: "\eb87" } +.codicon-debug-breakpoint-function:before { content: "\eb88" } +.codicon-debug-breakpoint-function-disabled:before { content: "\eb88" } +.codicon-debug-stackframe-active:before { content: "\eb89" } +.codicon-circle-small-filled:before { content: "\eb8a" } +.codicon-debug-stackframe-dot:before { content: "\eb8a" } +.codicon-terminal-decoration-mark:before { content: "\eb8a" } +.codicon-debug-stackframe:before { content: "\eb8b" } +.codicon-debug-stackframe-focused:before { content: "\eb8b" } +.codicon-debug-breakpoint-unsupported:before { content: "\eb8c" } +.codicon-symbol-string:before { content: "\eb8d" } +.codicon-debug-reverse-continue:before { content: "\eb8e" } +.codicon-debug-step-back:before { content: "\eb8f" } +.codicon-debug-restart-frame:before { content: "\eb90" } +.codicon-debug-alt:before { content: "\eb91" } +.codicon-call-incoming:before { content: "\eb92" } +.codicon-call-outgoing:before { content: "\eb93" } +.codicon-menu:before { content: "\eb94" } +.codicon-expand-all:before { content: "\eb95" } +.codicon-feedback:before { content: "\eb96" } +.codicon-git-pull-request-reviewer:before { content: "\eb96" } +.codicon-group-by-ref-type:before { content: "\eb97" } +.codicon-ungroup-by-ref-type:before { content: "\eb98" } +.codicon-account:before { content: "\eb99" } +.codicon-git-pull-request-assignee:before { content: "\eb99" } +.codicon-bell-dot:before { content: "\eb9a" } +.codicon-debug-console:before { content: "\eb9b" } +.codicon-library:before { content: "\eb9c" } +.codicon-output:before { content: "\eb9d" } +.codicon-run-all:before { content: "\eb9e" } +.codicon-sync-ignored:before { content: "\eb9f" } +.codicon-pinned:before { content: "\eba0" } +.codicon-github-inverted:before { content: "\eba1" } +.codicon-server-process:before { content: "\eba2" } +.codicon-server-environment:before { content: "\eba3" } +.codicon-pass:before { content: "\eba4" } +.codicon-issue-closed:before { content: "\eba4" } +.codicon-stop-circle:before { content: "\eba5" } +.codicon-play-circle:before { content: "\eba6" } +.codicon-record:before { content: "\eba7" } +.codicon-debug-alt-small:before { content: "\eba8" } +.codicon-vm-connect:before { content: "\eba9" } +.codicon-cloud:before { content: "\ebaa" } +.codicon-merge:before { content: "\ebab" } +.codicon-export:before { content: "\ebac" } +.codicon-graph-left:before { content: "\ebad" } +.codicon-magnet:before { content: "\ebae" } +.codicon-notebook:before { content: "\ebaf" } +.codicon-redo:before { content: "\ebb0" } +.codicon-check-all:before { content: "\ebb1" } +.codicon-pinned-dirty:before { content: "\ebb2" } +.codicon-pass-filled:before { content: "\ebb3" } +.codicon-circle-large-filled:before { content: "\ebb4" } +.codicon-circle-large:before { content: "\ebb5" } +.codicon-circle-large-outline:before { content: "\ebb5" } +.codicon-combine:before { content: "\ebb6" } +.codicon-gather:before { content: "\ebb6" } +.codicon-table:before { content: "\ebb7" } +.codicon-variable-group:before { content: "\ebb8" } +.codicon-type-hierarchy:before { content: "\ebb9" } +.codicon-type-hierarchy-sub:before { content: "\ebba" } +.codicon-type-hierarchy-super:before { content: "\ebbb" } +.codicon-git-pull-request-create:before { content: "\ebbc" } +.codicon-run-above:before { content: "\ebbd" } +.codicon-run-below:before { content: "\ebbe" } +.codicon-notebook-template:before { content: "\ebbf" } +.codicon-debug-rerun:before { content: "\ebc0" } +.codicon-workspace-trusted:before { content: "\ebc1" } +.codicon-workspace-untrusted:before { content: "\ebc2" } +.codicon-workspace-unknown:before { content: "\ebc3" } +.codicon-terminal-cmd:before { content: "\ebc4" } +.codicon-terminal-debian:before { content: "\ebc5" } +.codicon-terminal-linux:before { content: "\ebc6" } +.codicon-terminal-powershell:before { content: "\ebc7" } +.codicon-terminal-tmux:before { content: "\ebc8" } +.codicon-terminal-ubuntu:before { content: "\ebc9" } +.codicon-terminal-bash:before { content: "\ebca" } +.codicon-arrow-swap:before { content: "\ebcb" } +.codicon-copy:before { content: "\ebcc" } +.codicon-person-add:before { content: "\ebcd" } +.codicon-filter-filled:before { content: "\ebce" } +.codicon-wand:before { content: "\ebcf" } +.codicon-debug-line-by-line:before { content: "\ebd0" } +.codicon-inspect:before { content: "\ebd1" } +.codicon-layers:before { content: "\ebd2" } +.codicon-layers-dot:before { content: "\ebd3" } +.codicon-layers-active:before { content: "\ebd4" } +.codicon-compass:before { content: "\ebd5" } +.codicon-compass-dot:before { content: "\ebd6" } +.codicon-compass-active:before { content: "\ebd7" } +.codicon-azure:before { content: "\ebd8" } +.codicon-issue-draft:before { content: "\ebd9" } +.codicon-git-pull-request-closed:before { content: "\ebda" } +.codicon-git-pull-request-draft:before { content: "\ebdb" } +.codicon-debug-all:before { content: "\ebdc" } +.codicon-debug-coverage:before { content: "\ebdd" } +.codicon-run-errors:before { content: "\ebde" } +.codicon-folder-library:before { content: "\ebdf" } +.codicon-debug-continue-small:before { content: "\ebe0" } +.codicon-beaker-stop:before { content: "\ebe1" } +.codicon-graph-line:before { content: "\ebe2" } +.codicon-graph-scatter:before { content: "\ebe3" } +.codicon-pie-chart:before { content: "\ebe4" } +.codicon-bracket-dot:before { content: "\ebe5" } +.codicon-bracket-error:before { content: "\ebe6" } +.codicon-lock-small:before { content: "\ebe7" } +.codicon-azure-devops:before { content: "\ebe8" } +.codicon-verified-filled:before { content: "\ebe9" } +.codicon-newline:before { content: "\ebea" } +.codicon-layout:before { content: "\ebeb" } +.codicon-layout-activitybar-left:before { content: "\ebec" } +.codicon-layout-activitybar-right:before { content: "\ebed" } +.codicon-layout-panel-left:before { content: "\ebee" } +.codicon-layout-panel-center:before { content: "\ebef" } +.codicon-layout-panel-justify:before { content: "\ebf0" } +.codicon-layout-panel-right:before { content: "\ebf1" } +.codicon-layout-panel:before { content: "\ebf2" } +.codicon-layout-sidebar-left:before { content: "\ebf3" } +.codicon-layout-sidebar-right:before { content: "\ebf4" } +.codicon-layout-statusbar:before { content: "\ebf5" } +.codicon-layout-menubar:before { content: "\ebf6" } +.codicon-layout-centered:before { content: "\ebf7" } +.codicon-target:before { content: "\ebf8" } +.codicon-indent:before { content: "\ebf9" } +.codicon-record-small:before { content: "\ebfa" } +.codicon-error-small:before { content: "\ebfb" } +.codicon-terminal-decoration-error:before { content: "\ebfb" } +.codicon-arrow-circle-down:before { content: "\ebfc" } +.codicon-arrow-circle-left:before { content: "\ebfd" } +.codicon-arrow-circle-right:before { content: "\ebfe" } +.codicon-arrow-circle-up:before { content: "\ebff" } +.codicon-layout-sidebar-right-off:before { content: "\ec00" } +.codicon-layout-panel-off:before { content: "\ec01" } +.codicon-layout-sidebar-left-off:before { content: "\ec02" } +.codicon-blank:before { content: "\ec03" } +.codicon-heart-filled:before { content: "\ec04" } +.codicon-map:before { content: "\ec05" } +.codicon-map-horizontal:before { content: "\ec05" } +.codicon-fold-horizontal:before { content: "\ec05" } +.codicon-map-filled:before { content: "\ec06" } +.codicon-map-horizontal-filled:before { content: "\ec06" } +.codicon-fold-horizontal-filled:before { content: "\ec06" } +.codicon-circle-small:before { content: "\ec07" } +.codicon-bell-slash:before { content: "\ec08" } +.codicon-bell-slash-dot:before { content: "\ec09" } +.codicon-comment-unresolved:before { content: "\ec0a" } +.codicon-git-pull-request-go-to-changes:before { content: "\ec0b" } +.codicon-git-pull-request-new-changes:before { content: "\ec0c" } +.codicon-search-fuzzy:before { content: "\ec0d" } +.codicon-comment-draft:before { content: "\ec0e" } +.codicon-send:before { content: "\ec0f" } +.codicon-sparkle:before { content: "\ec10" } +.codicon-insert:before { content: "\ec11" } +.codicon-mic:before { content: "\ec12" } +.codicon-thumbsdown-filled:before { content: "\ec13" } +.codicon-thumbsup-filled:before { content: "\ec14" } +.codicon-coffee:before { content: "\ec15" } +.codicon-snake:before { content: "\ec16" } +.codicon-game:before { content: "\ec17" } +.codicon-vr:before { content: "\ec18" } +.codicon-chip:before { content: "\ec19" } +.codicon-piano:before { content: "\ec1a" } +.codicon-music:before { content: "\ec1b" } +.codicon-mic-filled:before { content: "\ec1c" } +.codicon-repo-fetch:before { content: "\ec1d" } +.codicon-copilot:before { content: "\ec1e" } +.codicon-lightbulb-sparkle:before { content: "\ec1f" } +.codicon-robot:before { content: "\ec20" } +.codicon-sparkle-filled:before { content: "\ec21" } +.codicon-diff-single:before { content: "\ec22" } +.codicon-diff-multiple:before { content: "\ec23" } +.codicon-surround-with:before { content: "\ec24" } +.codicon-share:before { content: "\ec25" } +.codicon-git-stash:before { content: "\ec26" } +.codicon-git-stash-apply:before { content: "\ec27" } +.codicon-git-stash-pop:before { content: "\ec28" } +.codicon-vscode:before { content: "\ec29" } +.codicon-vscode-insiders:before { content: "\ec2a" } +.codicon-code-oss:before { content: "\ec2b" } +.codicon-run-coverage:before { content: "\ec2c" } +.codicon-run-all-coverage:before { content: "\ec2d" } +.codicon-coverage:before { content: "\ec2e" } +.codicon-github-project:before { content: "\ec2f" } +.codicon-map-vertical:before { content: "\ec30" } +.codicon-fold-vertical:before { content: "\ec30" } +.codicon-map-vertical-filled:before { content: "\ec31" } +.codicon-fold-vertical-filled:before { content: "\ec31" } +.codicon-go-to-search:before { content: "\ec32" } +.codicon-percentage:before { content: "\ec33" } +.codicon-sort-percentage:before { content: "\ec33" } +.codicon-attach:before { content: "\ec34" } +.codicon-go-to-editing-session:before { content: "\ec35" } +.codicon-edit-session:before { content: "\ec36" } +.codicon-code-review:before { content: "\ec37" } +.codicon-copilot-warning:before { content: "\ec38" } +.codicon-python:before { content: "\ec39" } +.codicon-copilot-large:before { content: "\ec3a" } +.codicon-copilot-warning-large:before { content: "\ec3b" } +.codicon-keyboard-tab:before { content: "\ec3c" } +.codicon-copilot-blocked:before { content: "\ec3d" } +.codicon-copilot-not-connected:before { content: "\ec3e" } +.codicon-flag:before { content: "\ec3f" } +.codicon-lightbulb-empty:before { content: "\ec40" } +.codicon-symbol-method-arrow:before { content: "\ec41" } +.codicon-copilot-unavailable:before { content: "\ec42" } +.codicon-repo-pinned:before { content: "\ec43" } +.codicon-keyboard-tab-above:before { content: "\ec44" } +.codicon-keyboard-tab-below:before { content: "\ec45" } +.codicon-git-pull-request-done:before { content: "\ec46" } +.codicon-mcp:before { content: "\ec47" } +.codicon-extensions-large:before { content: "\ec48" } +.codicon-layout-panel-dock:before { content: "\ec49" } +.codicon-layout-sidebar-left-dock:before { content: "\ec4a" } +.codicon-layout-sidebar-right-dock:before { content: "\ec4b" } +.codicon-copilot-in-progress:before { content: "\ec4c" } +.codicon-copilot-error:before { content: "\ec4d" } +.codicon-copilot-success:before { content: "\ec4e" } +.codicon-chat-sparkle:before { content: "\ec4f" } +.codicon-search-sparkle:before { content: "\ec50" } +.codicon-edit-sparkle:before { content: "\ec51" } +.codicon-copilot-snooze:before { content: "\ec52" } +.codicon-send-to-remote-agent:before { content: "\ec53" } +.codicon-comment-discussion-sparkle:before { content: "\ec54" } +.codicon-chat-sparkle-warning:before { content: "\ec55" } +.codicon-chat-sparkle-error:before { content: "\ec56" } +.codicon-collection:before { content: "\ec57" } +.codicon-new-collection:before { content: "\ec58" } +.codicon-thinking:before { content: "\ec59" } +.codicon-build:before { content: "\ec5a" } +.codicon-comment-discussion-quote:before { content: "\ec5b" } +.codicon-cursor:before { content: "\ec5c" } +.codicon-eraser:before { content: "\ec5d" } +.codicon-file-text:before { content: "\ec5e" } +.codicon-quotes:before { content: "\ec60" } +.codicon-rename:before { content: "\ec61" } +.codicon-run-with-deps:before { content: "\ec62" } +.codicon-debug-connected:before { content: "\ec63" } +.codicon-strikethrough:before { content: "\ec64" } +.codicon-open-in-product:before { content: "\ec65" } +.codicon-index-zero:before { content: "\ec66" } +.codicon-agent:before { content: "\ec67" } +.codicon-edit-code:before { content: "\ec68" } +.codicon-repo-selected:before { content: "\ec69" } +.codicon-skip:before { content: "\ec6a" } +.codicon-merge-into:before { content: "\ec6b" } +.codicon-git-branch-changes:before { content: "\ec6c" } +.codicon-git-branch-staged-changes:before { content: "\ec6d" } +.codicon-git-branch-conflicts:before { content: "\ec6e" } +.codicon-git-branch:before { content: "\ec6f" } +.codicon-git-branch-create:before { content: "\ec6f" } +.codicon-git-branch-delete:before { content: "\ec6f" } +.codicon-search-large:before { content: "\ec70" } +.codicon-terminal-git-bash:before { content: "\ec71" } +.codicon-window-active:before { content: "\ec72" } +.codicon-forward:before { content: "\ec73" } +.codicon-download:before { content: "\ec74" } +.codicon-clockface:before { content: "\ec75" } +.codicon-unarchive:before { content: "\ec76" } +.codicon-session-in-progress:before { content: "\ec77" } +.codicon-collection-small:before { content: "\ec78" } +.codicon-vm-small:before { content: "\ec79" } +.codicon-cloud-small:before { content: "\ec7a" } +.codicon-add-small:before { content: "\ec7b" } +.codicon-remove-small:before { content: "\ec7c" } +.codicon-worktree-small:before { content: "\ec7d" } +.codicon-worktree:before { content: "\ec7e" } +.codicon-screen-cut:before { content: "\ec7f" } +.codicon-ask:before { content: "\ec80" } +.codicon-openai:before { content: "\ec81" } +.codicon-claude:before { content: "\ec82" } +.codicon-open-in-window:before { content: "\ec83" } +.codicon-new-session:before { content: "\ec84" } +.codicon-terminal-secure:before { content: "\ec85" } +.codicon-chat-import:before { content: "\ec86" } +.codicon-chat-export:before { content: "\ec87" } +.codicon-share-window:before { content: "\ec88" } +.codicon-circle-slash-compact:before { content: "\ec89" } +.codicon-copilot-compact:before { content: "\ec8a" } +.codicon-folder-opened-compact:before { content: "\ec8b" } +.codicon-folder-compact:before { content: "\ec8c" } +.codicon-gear-compact:before { content: "\ec8d" } +.codicon-git-branch-compact:before { content: "\ec8e" } +.codicon-library-compact:before { content: "\ec8f" } +.codicon-record-keys-compact:before { content: "\ec90" } +.codicon-remote-compact:before { content: "\ec91" } +.codicon-repo-forked-compact:before { content: "\ec92" } +.codicon-repo-compact:before { content: "\ec93" } +.codicon-shield-compact:before { content: "\ec94" } +.codicon-sparkle-compact:before { content: "\ec95" } +.codicon-symbol-color-compact:before { content: "\ec96" } +.codicon-window-compact:before { content: "\ec97" } +.codicon-error-compact:before { content: "\ec98" } +.codicon-warning-compact:before { content: "\ec99" } +.codicon-pass-compact:before { content: "\ec9a" } +.codicon-important:before { content: "\ec9b" } +.codicon-important-compact:before { content: "\ec9c" } +.codicon-rocket-compact:before { content: "\ec9d" } +.codicon-unpin:before { content: "\ec9e" } +.codicon-add-compact:before { content: "\ec9f" } +.codicon-attach-compact:before { content: "\eca0" } +.codicon-beaker-compact:before { content: "\eca1" } +.codicon-check-compact:before { content: "\eca2" } +.codicon-checklist-compact:before { content: "\eca3" } +.codicon-chevron-down-compact:before { content: "\eca4" } +.codicon-chevron-left-compact:before { content: "\eca5" } +.codicon-chevron-right-compact:before { content: "\eca6" } +.codicon-chevron-up-compact:before { content: "\eca7" } +.codicon-circle-filled-compact:before { content: "\eca8" } +.codicon-circle-small-filled-compact:before { content: "\eca9" } +.codicon-close-compact:before { content: "\ecaa" } +.codicon-collapse-all-compact:before { content: "\ecab" } +.codicon-comment-compact:before { content: "\ecac" } +.codicon-comment-unresolved-compact:before { content: "\ecad" } +.codicon-debug-connected-compact:before { content: "\ecae" } +.codicon-debug-disconnect-compact:before { content: "\ecaf" } +.codicon-edit-compact:before { content: "\ecb0" } +.codicon-file-media-compact:before { content: "\ecb1" } +.codicon-git-fetch:before { content: "\ecb2" } +.codicon-lightbulb-compact:before { content: "\ecb3" } +.codicon-loading-compact:before { content: "\ecb4" } +.codicon-pass-filled-compact:before { content: "\ecb5" } +.codicon-project-compact:before { content: "\ecb6" } +.codicon-refresh-compact:before { content: "\ecb7" } +.codicon-search-compact:before { content: "\ecb8" } +.codicon-session-in-progress-compact:before { content: "\ecb9" } +.codicon-sync-compact:before { content: "\ecba" } +.codicon-terminal-compact:before { content: "\ecbb" } +.codicon-vm-pending:before { content: "\ecbc" } +.codicon-worktree-compact:before { content: "\ecbd" } +.codicon-developer-tools:before { content: "\ecbe" } +.codicon-cloud-compact:before { content: "\ecbf" } +.codicon-agent-compact:before { content: "\ecc0" } +.codicon-ask-compact:before { content: "\ecc1" } +.codicon-settings-compact:before { content: "\ecc2" } +.codicon-vm-compact:before { content: "\ecc3" } +.codicon-run-compact:before { content: "\ecc4" } +.codicon-git-pull-request-comment:before { content: "\ecc5" } +.codicon-git-pull-request-error:before { content: "\ecc6" } +.codicon-right-panel-hide:before { content: "\ecc7" } +.codicon-right-panel-show:before { content: "\ecc8" } +.codicon-vscode-insiders-outline:before { content: "\ecc9" } +.codicon-vscode-outline:before { content: "\ecca" } +.codicon-voice-mode:before { content: "\eccb" } +.codicon-voice-mode-compact:before { content: "\eccc" } +.codicon-mic-download:before { content: "\eccd" } +.codicon-mic-download-compact:before { content: "\ecce" } +.codicon-voice-mode-download:before { content: "\eccf" } +.codicon-voice-mode-download-compact:before { content: "\ecd0" } +.codicon-google-gemini:before { content: "\ecd1" } +.codicon-kimi:before { content: "\ecd2" } +.codicon-microsoft:before { content: "\ecd3" } +.codicon-fish1-happy:before { content: "\ecd4" } +.codicon-fish1-neutral:before { content: "\ecd5" } +.codicon-fish1-sad:before { content: "\ecd6" } +.codicon-fish1-very-sad:before { content: "\ecd7" } +.codicon-fish2-happy:before { content: "\ecd8" } +.codicon-fish2-neutral:before { content: "\ecd9" } +.codicon-fish2-sad:before { content: "\ecda" } +.codicon-fish2-very-sad:before { content: "\ecdb" } +.codicon-fish3-happy:before { content: "\ecdc" } +.codicon-fish3-neutral:before { content: "\ecdd" } +.codicon-fish3-sad:before { content: "\ecde" } +.codicon-fish3-very-sad:before { content: "\ecdf" } +.codicon-fish4-happy:before { content: "\ece0" } +.codicon-fish4-neutral:before { content: "\ece1" } +.codicon-fish4-sad:before { content: "\ece2" } +.codicon-fish4-very-sad:before { content: "\ece3" } +.codicon-person-voice:before { content: "\ece4" } +.codicon-person-voice-compact:before { content: "\ece5" } +.codicon-person-voice-filled:before { content: "\ece6" } +.codicon-person-voice-filled-compact:before { content: "\ece7" } diff --git a/media/codicon/codicon.ttf b/media/codicon/codicon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..77b19ba40f8c9a7189e7930de881ef08d4f47297 GIT binary patch literal 149508 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 literal 0 HcmV?d00001 From 8ccdb1f24f6c9764ea2efee9eac6d57964b6c204 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 14:46:37 -0300 Subject: [PATCH 03/11] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20FEATURE-#21:=20Load?= =?UTF-8?q?=20codicons=20in=20the=20webview=20and=20add=20an=20openFile=20?= =?UTF-8?q?message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/vscode/sidebar/chatSidebarProvider.ts | 17 +++++++++++++++++ src/vscode/webview/html.ts | 6 ++++-- src/vscode/webview/messages.ts | 3 ++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/vscode/sidebar/chatSidebarProvider.ts b/src/vscode/sidebar/chatSidebarProvider.ts index a1c6f4d..edeabbc 100644 --- a/src/vscode/sidebar/chatSidebarProvider.ts +++ b/src/vscode/sidebar/chatSidebarProvider.ts @@ -1,5 +1,6 @@ import * as vscode from "vscode"; import * as crypto from "crypto"; +import * as path from "path"; import { resolveWorkspacePath } from "../../services/workspace.service"; import { currentWorkspaceFolder } from "../../services/settings.service"; import { ChatController } from "../../features/chat/chat.controller"; @@ -149,9 +150,21 @@ export class ChatViewProvider implements vscode.WebviewViewProvider { case "openSettings": vscode.commands.executeCommand("workbench.action.openSettings", "pycodeloop"); break; + case "openFile": + this.openFile(message.path); + break; } } + private openFile(filePath: string): void { + const uri = path.isAbsolute(filePath) + ? vscode.Uri.file(filePath) + : vscode.Uri.file(path.join(currentWorkspaceFolder(), filePath)); + vscode.window.showTextDocument(uri).then(undefined, () => { + vscode.window.showErrorMessage(`Couldn't open ${filePath}`); + }); + } + private post(message: { type: string } & Record): void { this.webviewView?.webview.postMessage(message); } @@ -173,11 +186,15 @@ export class ChatViewProvider implements vscode.WebviewViewProvider { webview.asWebviewUri(vscode.Uri.joinPath(this.context.extensionUri, "media", file)).toString() ); const styleUri = webview.asWebviewUri(vscode.Uri.joinPath(this.context.extensionUri, "media", "main.css")); + const codiconUri = webview.asWebviewUri( + vscode.Uri.joinPath(this.context.extensionUri, "media", "codicon", "codicon.css") + ); return renderChatHtml({ cspSource: webview.cspSource, scriptUris, styleUri: styleUri.toString(), + codiconUri: codiconUri.toString(), nonce: crypto.randomBytes(16).toString("hex"), }); } diff --git a/src/vscode/webview/html.ts b/src/vscode/webview/html.ts index 9638fc8..38f6983 100644 --- a/src/vscode/webview/html.ts +++ b/src/vscode/webview/html.ts @@ -2,11 +2,12 @@ export interface ChatHtmlOptions { cspSource: string; scriptUris: string[]; styleUri: string; + codiconUri: string; nonce: string; } export function renderChatHtml(options: ChatHtmlOptions): string { - const { cspSource, scriptUris, styleUri, nonce } = options; + const { cspSource, scriptUris, styleUri, codiconUri, nonce } = options; const scriptTags = scriptUris .map((uri) => ` `) .join("\n"); @@ -15,8 +16,9 @@ export function renderChatHtml(options: ChatHtmlOptions): string { - + + CodeLoop diff --git a/src/vscode/webview/messages.ts b/src/vscode/webview/messages.ts index 2a0508b..498bed0 100644 --- a/src/vscode/webview/messages.ts +++ b/src/vscode/webview/messages.ts @@ -22,4 +22,5 @@ export type WebviewMessage = | { type: "reload" } | { type: "installCli" } | { type: "updateCli" } - | { type: "openSettings" }; + | { type: "openSettings" } + | { type: "openFile"; path: string }; From 5a108a5ad0da5e3d05efb078eb9afefe2505fb31 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 14:46:39 -0300 Subject: [PATCH 04/11] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20FEATURE-#21:=20Repla?= =?UTF-8?q?ce=20tool-card=20emoji=20with=20codicons,=20add=20go-to-file=20?= =?UTF-8?q?and=20auto-approved=20diffs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- media/app.js | 2 +- media/chat-tools.js | 62 +++++++++++++++++++++++++++------------------ media/composer.js | 3 +-- media/main.css | 20 +++++++++++++-- 4 files changed, 58 insertions(+), 29 deletions(-) diff --git a/media/app.js b/media/app.js index 9d01911..0727c9d 100644 --- a/media/app.js +++ b/media/app.js @@ -48,7 +48,7 @@ window.addEventListener("message", (event) => { resolveToolResult(message.name, message.result, message.isError); break; case "autoApproved": - markToolAutoApproved(message.name); + markToolAutoApproved(message.name, message.preview); break; case "confirmRequest": renderConfirmRequest(message); diff --git a/media/chat-tools.js b/media/chat-tools.js index 68e83df..55bd0e4 100644 --- a/media/chat-tools.js +++ b/media/chat-tools.js @@ -1,22 +1,24 @@ const TOOL_ICONS = { - read_file: "📄", - write_file: "📝", - edit_file: "✏️", - delete_file: "🗑", - list_dir: "📁", - grep: "🔍", - glob: "🔍", - bash: "❯_", - http_request: "🌐", - web_fetch: "🌐", - todo: "☑", - delegate: "🤖", + read_file: "file-text", + write_file: "new-file", + edit_file: "edit", + delete_file: "trash", + list_dir: "folder", + grep: "search", + glob: "search", + bash: "terminal", + http_request: "globe", + web_fetch: "globe", + todo: "checklist", + delegate: "type-hierarchy-sub", }; function toolIcon(name) { - return TOOL_ICONS[name] || "🔧"; + return TOOL_ICONS[name] || "tools"; } +const FILE_TOOLS = new Set(["read_file", "write_file", "edit_file", "delete_file"]); + function argsPreview(args) { try { return JSON.stringify(args); @@ -39,8 +41,7 @@ function renderToolCall(name, args) { header.className = "tool-card-header"; const icon = document.createElement("span"); - icon.className = "tool-icon"; - icon.textContent = toolIcon(name); + icon.className = "tool-icon codicon codicon-" + toolIcon(name); const nameEl = document.createElement("span"); nameEl.className = "tool-name"; @@ -50,13 +51,24 @@ function renderToolCall(name, args) { preview.className = "tool-args-preview"; preview.textContent = argsPreview(args); - const status = document.createElement("span"); - status.className = "tool-status pending"; - status.textContent = "●"; - header.appendChild(icon); header.appendChild(nameEl); header.appendChild(preview); + + if (args && typeof args.path === "string" && FILE_TOOLS.has(name)) { + const openFile = document.createElement("button"); + openFile.className = "tool-open-file codicon codicon-go-to-file"; + openFile.title = "Open " + args.path; + openFile.addEventListener("click", (event) => { + event.stopPropagation(); + vscode.postMessage({ type: "openFile", path: args.path }); + }); + header.appendChild(openFile); + } + + const status = document.createElement("span"); + status.className = "tool-status pending codicon codicon-loading codicon-modifier-spin"; + header.appendChild(status); header.addEventListener("click", () => card.classList.toggle("expanded")); @@ -95,8 +107,8 @@ function resolveToolResult(name, result, isError) { return; } - card.__status.textContent = isError ? "✗" : "✓"; - card.__status.className = "tool-status " + (isError ? "error" : "ok"); + card.__status.className = + "tool-status codicon " + (isError ? "error codicon-close" : "ok codicon-check"); if (card.__diffPreview && !isError) { const { el, adds, removes } = renderDiffBlock(card.__diffPreview); @@ -148,8 +160,7 @@ function renderHistory(messages) { if (!card) { continue; } - card.__status.textContent = "✓"; - card.__status.className = "tool-status ok"; + card.__status.className = "tool-status ok codicon codicon-check"; const resultLabel = document.createElement("div"); resultLabel.className = "section-label"; resultLabel.textContent = "Result"; @@ -164,7 +175,7 @@ function renderHistory(messages) { scrollToBottom(); } -function markToolAutoApproved(name) { +function markToolAutoApproved(name, preview) { const queue = pendingToolCards.get(name); const card = queue && queue[0]; if (!card) { @@ -172,6 +183,9 @@ function markToolAutoApproved(name) { } card.__status.title = "auto-approved"; card.__status.classList.add("auto-approved"); + if (DIFF_TOOLS.has(name) && preview) { + card.__diffPreview = preview; + } } function setBusy(busy) { diff --git a/media/composer.js b/media/composer.js index c3e15ea..8189a69 100644 --- a/media/composer.js +++ b/media/composer.js @@ -15,8 +15,7 @@ function renderAttachmentsPreview() { const img = document.createElement("img"); img.src = dataUrl; const remove = document.createElement("button"); - remove.className = "remove"; - remove.textContent = "✕"; + remove.className = "remove codicon codicon-close"; remove.title = "Remove"; remove.addEventListener("click", () => { pendingImages.splice(index, 1); diff --git a/media/main.css b/media/main.css index fc477b1..9c0d311 100644 --- a/media/main.css +++ b/media/main.css @@ -373,8 +373,10 @@ body { .tool-icon { width: 14px; + font-size: 14px; text-align: center; flex-shrink: 0; + color: var(--vscode-descriptionForeground); } .tool-name { @@ -393,9 +395,23 @@ body { min-width: 0; } +.tool-open-file { + flex-shrink: 0; + border: none; + background: transparent; + color: var(--vscode-descriptionForeground); + font-size: 13px; + padding: 0 2px; + cursor: pointer; +} + +.tool-open-file:hover { + color: var(--vscode-foreground); +} + .tool-status { margin-left: auto; - font-size: 0.9em; + font-size: 14px; flex-shrink: 0; } @@ -862,7 +878,7 @@ body { height: 16px; line-height: 16px; text-align: center; - font-size: 11px; + font-size: 12px; padding: 0; background: rgba(0, 0, 0, 0.6); color: #fff; From e0bc0e3a9cf98e4667f21195a96f3afeb718a62d Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 14:46:42 -0300 Subject: [PATCH 05/11] =?UTF-8?q?=E2=9D=A4=EF=B8=8F=20TEST-#21:=20Cover=20?= =?UTF-8?q?the=20codicon=20stylesheet=20and=20font-src=20CSP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/html.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/html.test.ts b/test/html.test.ts index cc61020..71a4fed 100644 --- a/test/html.test.ts +++ b/test/html.test.ts @@ -6,6 +6,7 @@ const OPTIONS = { cspSource: "vscode-webview://abc", scriptUris: ["vscode-webview://abc/dom.js", "vscode-webview://abc/app.js"], styleUri: "vscode-webview://abc/main.css", + codiconUri: "vscode-webview://abc/codicon/codicon.css", nonce: "test-nonce", }; @@ -23,10 +24,16 @@ test("keeps script tags in the given order so shared globals are defined before assert.ok(html.indexOf("dom.js") < html.indexOf("app.js")); }); -test("CSP restricts style-src and img-src to the given cspSource", () => { +test("CSP restricts style-src, img-src, and font-src to the given cspSource", () => { const html = renderChatHtml(OPTIONS); assert.ok(html.includes("style-src vscode-webview://abc;")); assert.ok(html.includes("img-src vscode-webview://abc data:;")); + assert.ok(html.includes("font-src vscode-webview://abc;")); +}); + +test("wires the codicon stylesheet", () => { + const html = renderChatHtml(OPTIONS); + assert.ok(html.includes('href="vscode-webview://abc/codicon/codicon.css"')); }); test("includes the elements main.js expects to find by id", () => { From 3341e5980d29891aa50f4bff744290c7deb2125e Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 17:08:30 -0300 Subject: [PATCH 06/11] =?UTF-8?q?=F0=9F=AA=B2=20BUG:=20Fix=20pending-tool?= =?UTF-8?q?=20loading=20icon=20overflowing=20its=20card?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .tool-icon/.tool-status/.tool-open-file sized themselves via plain single-class selectors, but codicon.css's own base rule (.codicon[class*='codicon-']) is an attribute selector — strictly higher specificity — and always won regardless of stylesheet load order, silently resetting font-size back to the library's 16px/1 default and leaving line-height unconstrained against the row. Scoped the sizing rules under .tool-card-header to out-specify it, pinned line-height:1 explicitly, and added overflow:hidden on the header as a hard clamp. Also dropped the leftover thinking-pulse opacity animation on .tool-status.pending — the pending status now renders via codicon-loading + codicon-modifier-spin, so the old animation was silently fighting it for the same CSS property. --- media/main.css | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/media/main.css b/media/main.css index 9c0d311..af64c7f 100644 --- a/media/main.css +++ b/media/main.css @@ -365,15 +365,17 @@ body { cursor: pointer; font-family: var(--vscode-editor-font-family); background: var(--vscode-editorWidget-background); + overflow: hidden; } .tool-card-header:hover { background: var(--vscode-list-hoverBackground); } -.tool-icon { +.tool-card-header .tool-icon { width: 14px; font-size: 14px; + line-height: 1; text-align: center; flex-shrink: 0; color: var(--vscode-descriptionForeground); @@ -395,12 +397,13 @@ body { min-width: 0; } -.tool-open-file { +.tool-card-header .tool-open-file { flex-shrink: 0; border: none; background: transparent; color: var(--vscode-descriptionForeground); font-size: 13px; + line-height: 1; padding: 0 2px; cursor: pointer; } @@ -409,19 +412,19 @@ body { color: var(--vscode-foreground); } -.tool-status { +.tool-card-header .tool-status { margin-left: auto; font-size: 14px; + line-height: 1; flex-shrink: 0; } .tool-status.pending { color: var(--vscode-focusBorder); - animation: thinking-pulse 1.1s ease-in-out infinite; } @media (prefers-reduced-motion: reduce) { - .tool-status.pending { + .tool-status.pending.codicon-modifier-spin { animation: none; } } From 890eb1e4c690cfd7f19907b52983869e4114ffeb Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 17:12:13 -0300 Subject: [PATCH 07/11] =?UTF-8?q?=F0=9F=AA=B2=20BUG:=20Stop=20the=20auto-a?= =?UTF-8?q?pproved=20badge=20spinning=20with=20the=20pending=20icon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit codicon-modifier-spin's rotate animation applies to the whole element box it's set on — but that same .tool-status element also gets .auto-approved's `::after { content: " (auto)" }` text. Since a transform rotates everything rendered in the element's box, the "(auto)" label was spinning in a circle right along with the loading glyph. Split the icon into its own inner .tool-status-icon span so only the glyph carries the spin/codicon classes; .tool-status stays a plain, non-rotating wrapper for the color state and the auto- approved label. --- media/chat-tools.js | 14 ++++++++++---- media/main.css | 15 ++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/media/chat-tools.js b/media/chat-tools.js index 55bd0e4..b64922c 100644 --- a/media/chat-tools.js +++ b/media/chat-tools.js @@ -67,7 +67,10 @@ function renderToolCall(name, args) { } const status = document.createElement("span"); - status.className = "tool-status pending codicon codicon-loading codicon-modifier-spin"; + status.className = "tool-status pending"; + const statusIcon = document.createElement("span"); + statusIcon.className = "tool-status-icon codicon codicon-loading codicon-modifier-spin"; + status.appendChild(statusIcon); header.appendChild(status); header.addEventListener("click", () => card.classList.toggle("expanded")); @@ -89,6 +92,7 @@ function renderToolCall(name, args) { scrollToBottom(); card.__status = status; + card.__statusIcon = statusIcon; card.__body = body; card.__diffPreview = null; @@ -107,8 +111,9 @@ function resolveToolResult(name, result, isError) { return; } - card.__status.className = - "tool-status codicon " + (isError ? "error codicon-close" : "ok codicon-check"); + card.__status.className = "tool-status " + (isError ? "error" : "ok"); + card.__statusIcon.className = + "tool-status-icon codicon " + (isError ? "codicon-close" : "codicon-check"); if (card.__diffPreview && !isError) { const { el, adds, removes } = renderDiffBlock(card.__diffPreview); @@ -160,7 +165,8 @@ function renderHistory(messages) { if (!card) { continue; } - card.__status.className = "tool-status ok codicon codicon-check"; + card.__status.className = "tool-status ok"; + card.__statusIcon.className = "tool-status-icon codicon codicon-check"; const resultLabel = document.createElement("div"); resultLabel.className = "section-label"; resultLabel.textContent = "Result"; diff --git a/media/main.css b/media/main.css index af64c7f..8aefe29 100644 --- a/media/main.css +++ b/media/main.css @@ -413,27 +413,32 @@ body { } .tool-card-header .tool-status { + display: inline-flex; + align-items: center; margin-left: auto; + flex-shrink: 0; +} + +.tool-card-header .tool-status-icon { font-size: 14px; line-height: 1; - flex-shrink: 0; } -.tool-status.pending { +.tool-status.pending .tool-status-icon { color: var(--vscode-focusBorder); } @media (prefers-reduced-motion: reduce) { - .tool-status.pending.codicon-modifier-spin { + .tool-status-icon.codicon-modifier-spin { animation: none; } } -.tool-status.ok { +.tool-status.ok .tool-status-icon { color: var(--vscode-charts-green, var(--vscode-testing-iconPassed, #2ea043)); } -.tool-status.error { +.tool-status.error .tool-status-icon { color: var(--vscode-errorForeground); } From 9310749bd7a549043b2a68acbb80ee2a0a0a97c7 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 17:15:30 -0300 Subject: [PATCH 08/11] =?UTF-8?q?=F0=9F=93=A6=20NPM:=20Bump=20version=20to?= =?UTF-8?q?=200.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6ee606e..a991051 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pycodeloop", - "version": "0.3.5", + "version": "0.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pycodeloop", - "version": "0.3.5", + "version": "0.4.0", "license": "MIT", "devDependencies": { "@eslint/js": "^9.39.5", diff --git a/package.json b/package.json index 3f31291..1b1c00d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "pycodeloop", "displayName": "CodeLoop — AI Coding Agent", "description": "Agentic AI coding assistant in your VS Code sidebar — chat with Anthropic Claude, OpenAI, Gemini, Grok, Groq, AWS Bedrock, Moonshot Kimi, DeepSeek, Together AI Llama, Alibaba Qwen, NVIDIA NIM, or a local Ollama/LM Studio model to read, edit, and run code in your workspace.", - "version": "0.3.5", + "version": "0.4.0", "publisher": "fernandocelmer", "repository": { "type": "git", From 5d5bf3fa21bab23e41ace28a7bf6563aecb99c13 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 17:15:30 -0300 Subject: [PATCH 09/11] =?UTF-8?q?=F0=9F=93=98=20DOCS:=20Add=20v0.4.0=20rel?= =?UTF-8?q?ease=20notes=20entry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/nav/development/release-notes.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/nav/development/release-notes.md b/docs/nav/development/release-notes.md index 4587880..5421a24 100644 --- a/docs/nav/development/release-notes.md +++ b/docs/nav/development/release-notes.md @@ -1,5 +1,10 @@ # Release Notes +## v0.4.0 + +- [📦 Marketplace - Build 0.4.0](https://marketplace.visualstudio.com/items?itemName=fernandocelmer.pycodeloop) +- [⚙️ Feature: Replace tool-card emoji with codicons, go-to-file, and auto-approved diffs (#21)](https://github.com/dotflow-io/vscodeloop/pull/22) + ## v0.3.5 - [📦 Marketplace - Build 0.3.5](https://marketplace.visualstudio.com/items?itemName=fernandocelmer.pycodeloop) @@ -7,7 +12,6 @@ ## v0.3.4 -- [📦 Marketplace - Build 0.3.4](https://marketplace.visualstudio.com/items?itemName=fernandocelmer.pycodeloop) - [🪲 Bug: Fix messages blending together across tool calls (#18)](https://github.com/dotflow-io/vscodeloop/pull/18) ## v0.3.3 From 85bff432cfaebd277623497819a577fc06e1e969 Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 17:27:04 -0300 Subject: [PATCH 10/11] =?UTF-8?q?=F0=9F=AA=B2=20SECURITY:=20Jail=20openFil?= =?UTF-8?q?e=20to=20the=20workspace=20root=20and=20validate=20the=20messag?= =?UTF-8?q?e=20payload?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit openFile() resolved a relative path against the workspace root with no check that the result stayed inside it — "../../.ssh/id_rsa" (or any tool-call arg pointing outside the workspace) would open in the editor unguarded. Now normalizes the resolved path and rejects it if it doesn't stay under the workspace root. Also guards the "openFile" message handler against a non-string/empty path, since it comes straight from the webview with no runtime type check beyond the compile-time union. --- src/vscode/sidebar/chatSidebarProvider.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/vscode/sidebar/chatSidebarProvider.ts b/src/vscode/sidebar/chatSidebarProvider.ts index edeabbc..124047a 100644 --- a/src/vscode/sidebar/chatSidebarProvider.ts +++ b/src/vscode/sidebar/chatSidebarProvider.ts @@ -151,15 +151,22 @@ export class ChatViewProvider implements vscode.WebviewViewProvider { vscode.commands.executeCommand("workbench.action.openSettings", "pycodeloop"); break; case "openFile": - this.openFile(message.path); + if (typeof message.path === "string" && message.path.length > 0) { + this.openFile(message.path); + } break; } } private openFile(filePath: string): void { - const uri = path.isAbsolute(filePath) - ? vscode.Uri.file(filePath) - : vscode.Uri.file(path.join(currentWorkspaceFolder(), filePath)); + const root = currentWorkspaceFolder(); + const resolved = path.isAbsolute(filePath) ? filePath : path.join(root, filePath); + const normalized = path.normalize(resolved); + if (!normalized.startsWith(path.normalize(root) + path.sep)) { + vscode.window.showErrorMessage(`Path outside workspace: ${filePath}`); + return; + } + const uri = vscode.Uri.file(normalized); vscode.window.showTextDocument(uri).then(undefined, () => { vscode.window.showErrorMessage(`Couldn't open ${filePath}`); }); From f24c6530991f8707cf0c7d544108b3fbb6d013bf Mon Sep 17 00:00:00 2001 From: Fernando Celmer Date: Sat, 15 Aug 2026 17:27:04 -0300 Subject: [PATCH 11/11] =?UTF-8?q?=F0=9F=AA=B2=20BUG:=20Scope=20.tool-open-?= =?UTF-8?q?file:hover=20under=20.tool-card-header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Its base rule (.tool-card-header .tool-open-file) is already scoped, but the :hover variant wasn't — any future .tool-open-file element outside a tool card would silently inherit this hover color. --- media/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/main.css b/media/main.css index 8aefe29..1295eee 100644 --- a/media/main.css +++ b/media/main.css @@ -408,7 +408,7 @@ body { cursor: pointer; } -.tool-open-file:hover { +.tool-card-header .tool-open-file:hover { color: var(--vscode-foreground); }