Merge from vscode f5d3ffa6a0d655c87e1eb0e1e90773df58f7ff25 (#7929)

* Merge from vscode f5d3ffa6a0d655c87e1eb0e1e90773df58f7ff25

* fix launch script

* add missing files
This commit is contained in:
Anthony Dresser
2019-10-22 21:49:55 -07:00
committed by GitHub
parent 4a68ab4659
commit a94cbb528e
189 changed files with 1976 additions and 1541 deletions

View File

@@ -23,24 +23,6 @@
outline: none;
}
.monaco-breadcrumbs .monaco-breadcrumb-item::before {
width: 14px;
height: 16px;
display: inline-block;
.monaco-breadcrumbs .monaco-breadcrumb-item:first-of-type::before {
content: ' ';
}
.monaco-breadcrumbs .monaco-breadcrumb-item:not(:nth-child(2))::before {
background-image: url(./tree-collapsed-light.svg);
opacity: .7;
background-size: 16px;
background-position: 50% 50%;
}
.vs-dark .monaco-breadcrumbs .monaco-breadcrumb-item:not(:nth-child(2))::before {
background-image: url(./tree-collapsed-dark.svg);
}
.hc-black .monaco-breadcrumbs .monaco-breadcrumb-item:not(:nth-child(2))::before {
background-image: url(./tree-collapsed-hc.svg);
}

View File

@@ -328,7 +328,9 @@ export class BreadcrumbsWidget {
item.render(container);
container.tabIndex = -1;
container.setAttribute('role', 'listitem');
dom.addClass(container, 'monaco-breadcrumb-item');
dom.addClasses(container, 'monaco-breadcrumb-item');
const iconContainer = dom.$('.codicon.codicon-chevron-right');
container.appendChild(iconContainer);
}
private _onClick(event: IMouseEvent): void {

View File

@@ -5,7 +5,7 @@
@font-face {
font-family: "codicon";
src: url("./codicon.ttf?10ac421d405314bb3250169d97fc2c62") format("truetype");
src: url("./codicon.ttf?3a05fcfc657285cdb4cd3eba790b7462") format("truetype");
}
.codicon[class*='codicon-'] {
@@ -109,258 +109,275 @@
.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-zap:before { content: "\ea86" }
.codicon-event: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-string: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: "\f101" }
.codicon-archive:before { content: "\f102" }
.codicon-array:before { content: "\f103" }
.codicon-arrow-both:before { content: "\f104" }
.codicon-arrow-down:before { content: "\f105" }
.codicon-arrow-left:before { content: "\f106" }
.codicon-arrow-right:before { content: "\f107" }
.codicon-arrow-small-down:before { content: "\f108" }
.codicon-arrow-small-left:before { content: "\f109" }
.codicon-arrow-small-right:before { content: "\f10a" }
.codicon-arrow-small-up:before { content: "\f10b" }
.codicon-arrow-up:before { content: "\f10c" }
.codicon-bell:before { content: "\f10d" }
.codicon-bold:before { content: "\f10e" }
.codicon-book:before { content: "\f10f" }
.codicon-bookmark:before { content: "\f110" }
.codicon-boolean:before { content: "\f111" }
.codicon-breakpoint-conditional-unverified:before { content: "\f112" }
.codicon-breakpoint-conditional:before { content: "\f113" }
.codicon-breakpoint-data-unverified:before { content: "\f114" }
.codicon-breakpoint-data:before { content: "\f115" }
.codicon-breakpoint-log-unverified:before { content: "\f116" }
.codicon-breakpoint-log:before { content: "\f117" }
.codicon-briefcase:before { content: "\f118" }
.codicon-broadcast:before { content: "\f119" }
.codicon-browser:before { content: "\f11a" }
.codicon-bug:before { content: "\f11b" }
.codicon-calendar:before { content: "\f11c" }
.codicon-case-sensitive:before { content: "\f11d" }
.codicon-check:before { content: "\f11e" }
.codicon-checklist:before { content: "\f11f" }
.codicon-chevron-down:before { content: "\f120" }
.codicon-chevron-left:before { content: "\f121" }
.codicon-chevron-right:before { content: "\f122" }
.codicon-chevron-up:before { content: "\f123" }
.codicon-chrome-close:before { content: "\f124" }
.codicon-chrome-maximize:before { content: "\f125" }
.codicon-chrome-minimize:before { content: "\f126" }
.codicon-chrome-restore:before { content: "\f127" }
.codicon-circle-outline:before { content: "\f128" }
.codicon-circle-slash:before { content: "\f129" }
.codicon-circuit-board:before { content: "\f12a" }
.codicon-class:before { content: "\f12b" }
.codicon-clear-all:before { content: "\f12c" }
.codicon-clippy:before { content: "\f12d" }
.codicon-close-all:before { content: "\f12e" }
.codicon-cloud-download:before { content: "\f12f" }
.codicon-cloud-upload:before { content: "\f130" }
.codicon-code:before { content: "\f131" }
.codicon-collapse-all:before { content: "\f132" }
.codicon-color-mode:before { content: "\f133" }
.codicon-color:before { content: "\f134" }
.codicon-comment-discussion:before { content: "\f135" }
.codicon-compare-changes:before { content: "\f136" }
.codicon-constant:before { content: "\f137" }
.codicon-continue:before { content: "\f138" }
.codicon-credit-card:before { content: "\f139" }
.codicon-current-and-breakpoint:before { content: "\f13a" }
.codicon-current:before { content: "\f13b" }
.codicon-dash:before { content: "\f13c" }
.codicon-dashboard:before { content: "\f13d" }
.codicon-database:before { content: "\f13e" }
.codicon-debug-disconnect:before { content: "\f13f" }
.codicon-debug-pause:before { content: "\f140" }
.codicon-debug-restart:before { content: "\f141" }
.codicon-debug-start:before { content: "\f142" }
.codicon-debug-step-into:before { content: "\f143" }
.codicon-debug-step-out:before { content: "\f144" }
.codicon-debug-step-over:before { content: "\f145" }
.codicon-debug-stop:before { content: "\f146" }
.codicon-debug:before { content: "\f147" }
.codicon-device-camera-video:before { content: "\f148" }
.codicon-device-camera:before { content: "\f149" }
.codicon-device-mobile:before { content: "\f14a" }
.codicon-diff-added:before { content: "\f14b" }
.codicon-diff-ignored:before { content: "\f14c" }
.codicon-diff-modified:before { content: "\f14d" }
.codicon-diff-removed:before { content: "\f14e" }
.codicon-diff-renamed:before { content: "\f14f" }
.codicon-diff:before { content: "\f150" }
.codicon-discard:before { content: "\f151" }
.codicon-editor-layout:before { content: "\f152" }
.codicon-ellipsis:before { content: "\f153" }
.codicon-empty-window:before { content: "\f154" }
.codicon-enumerator-member:before { content: "\f155" }
.codicon-enumerator:before { content: "\f156" }
.codicon-exclude:before { content: "\f157" }
.codicon-extensions:before { content: "\f158" }
.codicon-eye-closed:before { content: "\f159" }
.codicon-field:before { content: "\f15a" }
.codicon-file-binary:before { content: "\f15b" }
.codicon-file-code:before { content: "\f15c" }
.codicon-file-media:before { content: "\f15d" }
.codicon-file-pdf:before { content: "\f15e" }
.codicon-file-submodule:before { content: "\f15f" }
.codicon-file-symlink-directory:before { content: "\f160" }
.codicon-file-symlink-file:before { content: "\f161" }
.codicon-file-zip:before { content: "\f162" }
.codicon-files:before { content: "\f163" }
.codicon-filter:before { content: "\f164" }
.codicon-flame:before { content: "\f165" }
.codicon-fold-down:before { content: "\f166" }
.codicon-fold-up:before { content: "\f167" }
.codicon-fold:before { content: "\f168" }
.codicon-folder-active:before { content: "\f169" }
.codicon-folder-opened:before { content: "\f16a" }
.codicon-gear:before { content: "\f16b" }
.codicon-gift:before { content: "\f16c" }
.codicon-gist-secret:before { content: "\f16d" }
.codicon-gist:before { content: "\f16e" }
.codicon-git-commit:before { content: "\f16f" }
.codicon-git-compare:before { content: "\f170" }
.codicon-git-merge:before { content: "\f171" }
.codicon-github-action:before { content: "\f172" }
.codicon-github-alt:before { content: "\f173" }
.codicon-globe:before { content: "\f174" }
.codicon-go-to-file:before { content: "\f175" }
.codicon-grabber:before { content: "\f176" }
.codicon-graph:before { content: "\f177" }
.codicon-gripper:before { content: "\f178" }
.codicon-heart:before { content: "\f179" }
.codicon-home:before { content: "\f17a" }
.codicon-horizontal-rule:before { content: "\f17b" }
.codicon-hubot:before { content: "\f17c" }
.codicon-inbox:before { content: "\f17d" }
.codicon-interface:before { content: "\f17e" }
.codicon-issue-closed:before { content: "\f17f" }
.codicon-issue-reopened:before { content: "\f180" }
.codicon-issues:before { content: "\f181" }
.codicon-italic:before { content: "\f182" }
.codicon-jersey:before { content: "\f183" }
.codicon-json:before { content: "\f184" }
.codicon-kebab-vertical:before { content: "\f185" }
.codicon-key:before { content: "\f186" }
.codicon-keyword:before { content: "\f187" }
.codicon-law:before { content: "\f188" }
.codicon-lightbulb-autofix:before { content: "\f189" }
.codicon-link-external:before { content: "\f18a" }
.codicon-link:before { content: "\f18b" }
.codicon-list-ordered:before { content: "\f18c" }
.codicon-list-unordered:before { content: "\f18d" }
.codicon-live-share:before { content: "\f18e" }
.codicon-loading:before { content: "\f18f" }
.codicon-location:before { content: "\f190" }
.codicon-mail-read:before { content: "\f191" }
.codicon-mail:before { content: "\f192" }
.codicon-markdown:before { content: "\f193" }
.codicon-megaphone:before { content: "\f194" }
.codicon-mention:before { content: "\f195" }
.codicon-method:before { content: "\f196" }
.codicon-milestone:before { content: "\f197" }
.codicon-misc:before { content: "\f198" }
.codicon-mortar-board:before { content: "\f199" }
.codicon-move:before { content: "\f19a" }
.codicon-multiple-windows:before { content: "\f19b" }
.codicon-mute:before { content: "\f19c" }
.codicon-namespace:before { content: "\f19d" }
.codicon-no-newline:before { content: "\f19e" }
.codicon-note:before { content: "\f19f" }
.codicon-numeric:before { content: "\f1a0" }
.codicon-octoface:before { content: "\f1a1" }
.codicon-open-preview:before { content: "\f1a2" }
.codicon-operator:before { content: "\f1a3" }
.codicon-package:before { content: "\f1a4" }
.codicon-paintcan:before { content: "\f1a5" }
.codicon-parameter:before { content: "\f1a6" }
.codicon-pin:before { content: "\f1a7" }
.codicon-play:before { content: "\f1a8" }
.codicon-plug:before { content: "\f1a9" }
.codicon-preserve-case:before { content: "\f1aa" }
.codicon-preview:before { content: "\f1ab" }
.codicon-project:before { content: "\f1ac" }
.codicon-property:before { content: "\f1ad" }
.codicon-pulse:before { content: "\f1ae" }
.codicon-question:before { content: "\f1af" }
.codicon-quote:before { content: "\f1b0" }
.codicon-radio-tower:before { content: "\f1b1" }
.codicon-reactions:before { content: "\f1b2" }
.codicon-references:before { content: "\f1b3" }
.codicon-refresh:before { content: "\f1b4" }
.codicon-regex:before { content: "\f1b5" }
.codicon-remote:before { content: "\f1b6" }
.codicon-remove:before { content: "\f1b7" }
.codicon-replace-all:before { content: "\f1b8" }
.codicon-replace:before { content: "\f1b9" }
.codicon-repo-clone:before { content: "\f1ba" }
.codicon-repo-force-push:before { content: "\f1bb" }
.codicon-repo-pull:before { content: "\f1bc" }
.codicon-repo-push:before { content: "\f1bd" }
.codicon-report:before { content: "\f1be" }
.codicon-request-changes:before { content: "\f1bf" }
.codicon-rocket:before { content: "\f1c0" }
.codicon-root-folder-opened:before { content: "\f1c1" }
.codicon-root-folder:before { content: "\f1c2" }
.codicon-rss:before { content: "\f1c3" }
.codicon-ruby:before { content: "\f1c4" }
.codicon-ruler:before { content: "\f1c5" }
.codicon-save-all:before { content: "\f1c6" }
.codicon-save-as:before { content: "\f1c7" }
.codicon-save:before { content: "\f1c8" }
.codicon-screen-full:before { content: "\f1c9" }
.codicon-screen-normal:before { content: "\f1ca" }
.codicon-search-stop:before { content: "\f1cb" }
.codicon-selection:before { content: "\f1cc" }
.codicon-server:before { content: "\f1cd" }
.codicon-settings:before { content: "\f1ce" }
.codicon-shield:before { content: "\f1cf" }
.codicon-smiley:before { content: "\f1d0" }
.codicon-snippet:before { content: "\f1d1" }
.codicon-sort-precedence:before { content: "\f1d2" }
.codicon-split-horizontal:before { content: "\f1d3" }
.codicon-split-vertical:before { content: "\f1d4" }
.codicon-squirrel:before { content: "\f1d5" }
.codicon-star-full:before { content: "\f1d6" }
.codicon-star-half:before { content: "\f1d7" }
.codicon-string:before { content: "\f1d8" }
.codicon-structure:before { content: "\f1d9" }
.codicon-tasklist:before { content: "\f1da" }
.codicon-telescope:before { content: "\f1db" }
.codicon-text-size:before { content: "\f1dc" }
.codicon-three-bars:before { content: "\f1dd" }
.codicon-thumbsdown:before { content: "\f1de" }
.codicon-thumbsup:before { content: "\f1df" }
.codicon-tools:before { content: "\f1e0" }
.codicon-triangle-down:before { content: "\f1e1" }
.codicon-triangle-left:before { content: "\f1e2" }
.codicon-triangle-right:before { content: "\f1e3" }
.codicon-triangle-up:before { content: "\f1e4" }
.codicon-twitter:before { content: "\f1e5" }
.codicon-unfold:before { content: "\f1e6" }
.codicon-unlock:before { content: "\f1e7" }
.codicon-unmute:before { content: "\f1e8" }
.codicon-unverified:before { content: "\f1e9" }
.codicon-variable:before { content: "\f1ea" }
.codicon-verified:before { content: "\f1eb" }
.codicon-versions:before { content: "\f1ec" }
.codicon-vm-active:before { content: "\f1ed" }
.codicon-vm-outline:before { content: "\f1ee" }
.codicon-vm-running:before { content: "\f1ef" }
.codicon-watch:before { content: "\f1f0" }
.codicon-whitespace:before { content: "\f1f1" }
.codicon-whole-word:before { content: "\f1f2" }
.codicon-window:before { content: "\f1f3" }
.codicon-word-wrap:before { content: "\f1f4" }
.codicon-zoom-in:before { content: "\f1f5" }
.codicon-zoom-out:before { content: "\f1f6" }
.codicon-arrow-both:before { content: "\f103" }
.codicon-arrow-down:before { content: "\f104" }
.codicon-arrow-left:before { content: "\f105" }
.codicon-arrow-right:before { content: "\f106" }
.codicon-arrow-small-down:before { content: "\f107" }
.codicon-arrow-small-left:before { content: "\f108" }
.codicon-arrow-small-right:before { content: "\f109" }
.codicon-arrow-small-up:before { content: "\f10a" }
.codicon-arrow-up:before { content: "\f10b" }
.codicon-bell:before { content: "\f10c" }
.codicon-bold:before { content: "\f10d" }
.codicon-book:before { content: "\f10e" }
.codicon-bookmark:before { content: "\f10f" }
.codicon-breakpoint-conditional-unverified:before { content: "\f110" }
.codicon-breakpoint-conditional:before { content: "\f111" }
.codicon-breakpoint-data-unverified:before { content: "\f112" }
.codicon-breakpoint-data:before { content: "\f113" }
.codicon-breakpoint-log-unverified:before { content: "\f114" }
.codicon-breakpoint-log:before { content: "\f115" }
.codicon-briefcase:before { content: "\f116" }
.codicon-broadcast:before { content: "\f117" }
.codicon-browser:before { content: "\f118" }
.codicon-bug:before { content: "\f119" }
.codicon-calendar:before { content: "\f11a" }
.codicon-case-sensitive:before { content: "\f11b" }
.codicon-check:before { content: "\f11c" }
.codicon-checklist:before { content: "\f11d" }
.codicon-chevron-down:before { content: "\f11e" }
.codicon-chevron-left:before { content: "\f11f" }
.codicon-chevron-right:before { content: "\f120" }
.codicon-chevron-up:before { content: "\f121" }
.codicon-chrome-close:before { content: "\f122" }
.codicon-chrome-maximize:before { content: "\f123" }
.codicon-chrome-minimize:before { content: "\f124" }
.codicon-chrome-restore:before { content: "\f125" }
.codicon-circle-outline:before { content: "\f126" }
.codicon-circle-slash:before { content: "\f127" }
.codicon-circuit-board:before { content: "\f128" }
.codicon-clear-all:before { content: "\f129" }
.codicon-clippy:before { content: "\f12a" }
.codicon-close-all:before { content: "\f12b" }
.codicon-cloud-download:before { content: "\f12c" }
.codicon-cloud-upload:before { content: "\f12d" }
.codicon-code:before { content: "\f12e" }
.codicon-collapse-all:before { content: "\f12f" }
.codicon-color-mode:before { content: "\f130" }
.codicon-comment-discussion:before { content: "\f131" }
.codicon-compare-changes:before { content: "\f132" }
.codicon-continue:before { content: "\f133" }
.codicon-credit-card:before { content: "\f134" }
.codicon-current-and-breakpoint:before { content: "\f135" }
.codicon-current:before { content: "\f136" }
.codicon-dash:before { content: "\f137" }
.codicon-dashboard:before { content: "\f138" }
.codicon-database:before { content: "\f139" }
.codicon-debug-disconnect:before { content: "\f13a" }
.codicon-debug-pause:before { content: "\f13b" }
.codicon-debug-restart:before { content: "\f13c" }
.codicon-debug-start:before { content: "\f13d" }
.codicon-debug-step-into:before { content: "\f13e" }
.codicon-debug-step-out:before { content: "\f13f" }
.codicon-debug-step-over:before { content: "\f140" }
.codicon-debug-stop:before { content: "\f141" }
.codicon-debug:before { content: "\f142" }
.codicon-device-camera-video:before { content: "\f143" }
.codicon-device-camera:before { content: "\f144" }
.codicon-device-mobile:before { content: "\f145" }
.codicon-diff-added:before { content: "\f146" }
.codicon-diff-ignored:before { content: "\f147" }
.codicon-diff-modified:before { content: "\f148" }
.codicon-diff-removed:before { content: "\f149" }
.codicon-diff-renamed:before { content: "\f14a" }
.codicon-diff:before { content: "\f14b" }
.codicon-discard:before { content: "\f14c" }
.codicon-editor-layout:before { content: "\f14d" }
.codicon-ellipsis:before { content: "\f14e" }
.codicon-empty-window:before { content: "\f14f" }
.codicon-exclude:before { content: "\f150" }
.codicon-extensions:before { content: "\f151" }
.codicon-eye-closed:before { content: "\f152" }
.codicon-file-binary:before { content: "\f153" }
.codicon-file-code:before { content: "\f154" }
.codicon-file-media:before { content: "\f155" }
.codicon-file-pdf:before { content: "\f156" }
.codicon-file-submodule:before { content: "\f157" }
.codicon-file-symlink-directory:before { content: "\f158" }
.codicon-file-symlink-file:before { content: "\f159" }
.codicon-file-zip:before { content: "\f15a" }
.codicon-files:before { content: "\f15b" }
.codicon-filter:before { content: "\f15c" }
.codicon-flame:before { content: "\f15d" }
.codicon-fold-down:before { content: "\f15e" }
.codicon-fold-up:before { content: "\f15f" }
.codicon-fold:before { content: "\f160" }
.codicon-folder-active:before { content: "\f161" }
.codicon-folder-opened:before { content: "\f162" }
.codicon-gear:before { content: "\f163" }
.codicon-gift:before { content: "\f164" }
.codicon-gist-secret:before { content: "\f165" }
.codicon-gist:before { content: "\f166" }
.codicon-git-commit:before { content: "\f167" }
.codicon-git-compare:before { content: "\f168" }
.codicon-git-merge:before { content: "\f169" }
.codicon-github-action:before { content: "\f16a" }
.codicon-github-alt:before { content: "\f16b" }
.codicon-globe:before { content: "\f16c" }
.codicon-grabber:before { content: "\f16d" }
.codicon-graph:before { content: "\f16e" }
.codicon-gripper:before { content: "\f16f" }
.codicon-heart:before { content: "\f170" }
.codicon-home:before { content: "\f171" }
.codicon-horizontal-rule:before { content: "\f172" }
.codicon-hubot:before { content: "\f173" }
.codicon-inbox:before { content: "\f174" }
.codicon-issue-closed:before { content: "\f175" }
.codicon-issue-reopened:before { content: "\f176" }
.codicon-issues:before { content: "\f177" }
.codicon-italic:before { content: "\f178" }
.codicon-jersey:before { content: "\f179" }
.codicon-json:before { content: "\f17a" }
.codicon-kebab-vertical:before { content: "\f17b" }
.codicon-law:before { content: "\f17c" }
.codicon-lightbulb-autofix:before { content: "\f17d" }
.codicon-link-external:before { content: "\f17e" }
.codicon-link:before { content: "\f17f" }
.codicon-list-ordered:before { content: "\f180" }
.codicon-list-unordered:before { content: "\f181" }
.codicon-live-share:before { content: "\f182" }
.codicon-loading:before { content: "\f183" }
.codicon-location:before { content: "\f184" }
.codicon-mail-read:before { content: "\f185" }
.codicon-mail:before { content: "\f186" }
.codicon-markdown:before { content: "\f187" }
.codicon-megaphone:before { content: "\f188" }
.codicon-mention:before { content: "\f189" }
.codicon-milestone:before { content: "\f18a" }
.codicon-mortar-board:before { content: "\f18b" }
.codicon-move:before { content: "\f18c" }
.codicon-multiple-windows:before { content: "\f18d" }
.codicon-mute:before { content: "\f18e" }
.codicon-no-newline:before { content: "\f18f" }
.codicon-note:before { content: "\f190" }
.codicon-octoface:before { content: "\f191" }
.codicon-open-preview:before { content: "\f192" }
.codicon-package:before { content: "\f193" }
.codicon-paintcan:before { content: "\f194" }
.codicon-pin:before { content: "\f195" }
.codicon-play:before { content: "\f196" }
.codicon-plug:before { content: "\f197" }
.codicon-preserve-case:before { content: "\f198" }
.codicon-preview:before { content: "\f199" }
.codicon-project:before { content: "\f19a" }
.codicon-pulse:before { content: "\f19b" }
.codicon-question:before { content: "\f19c" }
.codicon-quote:before { content: "\f19d" }
.codicon-radio-tower:before { content: "\f19e" }
.codicon-reactions:before { content: "\f19f" }
.codicon-references:before { content: "\f1a0" }
.codicon-refresh:before { content: "\f1a1" }
.codicon-regex:before { content: "\f1a2" }
.codicon-remote:before { content: "\f1a3" }
.codicon-remove:before { content: "\f1a4" }
.codicon-replace-all:before { content: "\f1a5" }
.codicon-replace:before { content: "\f1a6" }
.codicon-repo-clone:before { content: "\f1a7" }
.codicon-repo-force-push:before { content: "\f1a8" }
.codicon-repo-pull:before { content: "\f1a9" }
.codicon-repo-push:before { content: "\f1aa" }
.codicon-report:before { content: "\f1ab" }
.codicon-request-changes:before { content: "\f1ac" }
.codicon-rocket:before { content: "\f1ad" }
.codicon-root-folder-opened:before { content: "\f1ae" }
.codicon-root-folder:before { content: "\f1af" }
.codicon-rss:before { content: "\f1b0" }
.codicon-ruby:before { content: "\f1b1" }
.codicon-save-all:before { content: "\f1b2" }
.codicon-save-as:before { content: "\f1b3" }
.codicon-save:before { content: "\f1b4" }
.codicon-screen-full:before { content: "\f1b5" }
.codicon-screen-normal:before { content: "\f1b6" }
.codicon-search-stop:before { content: "\f1b7" }
.codicon-selection:before { content: "\f1b8" }
.codicon-server:before { content: "\f1b9" }
.codicon-settings:before { content: "\f1ba" }
.codicon-shield:before { content: "\f1bb" }
.codicon-smiley:before { content: "\f1bc" }
.codicon-sort-precedence:before { content: "\f1bd" }
.codicon-split-horizontal:before { content: "\f1be" }
.codicon-split-vertical:before { content: "\f1bf" }
.codicon-squirrel:before { content: "\f1c0" }
.codicon-star-full:before { content: "\f1c1" }
.codicon-star-half:before { content: "\f1c2" }
.codicon-symbol-class:before { content: "\f1c3" }
.codicon-symbol-color:before { content: "\f1c4" }
.codicon-symbol-constant:before { content: "\f1c5" }
.codicon-symbol-enum-member:before { content: "\f1c6" }
.codicon-symbol-field:before { content: "\f1c7" }
.codicon-symbol-file:before { content: "\f1c8" }
.codicon-symbol-interface:before { content: "\f1c9" }
.codicon-symbol-keyword:before { content: "\f1ca" }
.codicon-symbol-misc:before { content: "\f1cb" }
.codicon-symbol-operator:before { content: "\f1cc" }
.codicon-symbol-property:before { content: "\f1cd" }
.codicon-symbol-snippet:before { content: "\f1ce" }
.codicon-tasklist:before { content: "\f1cf" }
.codicon-telescope:before { content: "\f1d0" }
.codicon-text-size:before { content: "\f1d1" }
.codicon-three-bars:before { content: "\f1d2" }
.codicon-thumbsdown:before { content: "\f1d3" }
.codicon-thumbsup:before { content: "\f1d4" }
.codicon-tools:before { content: "\f1d5" }
.codicon-triangle-down:before { content: "\f1d6" }
.codicon-triangle-left:before { content: "\f1d7" }
.codicon-triangle-right:before { content: "\f1d8" }
.codicon-triangle-up:before { content: "\f1d9" }
.codicon-twitter:before { content: "\f1da" }
.codicon-unfold:before { content: "\f1db" }
.codicon-unlock:before { content: "\f1dc" }
.codicon-unmute:before { content: "\f1dd" }
.codicon-unverified:before { content: "\f1de" }
.codicon-verified:before { content: "\f1df" }
.codicon-versions:before { content: "\f1e0" }
.codicon-vm-active:before { content: "\f1e1" }
.codicon-vm-outline:before { content: "\f1e2" }
.codicon-vm-running:before { content: "\f1e3" }
.codicon-watch:before { content: "\f1e4" }
.codicon-whitespace:before { content: "\f1e5" }
.codicon-whole-word:before { content: "\f1e6" }
.codicon-window:before { content: "\f1e7" }
.codicon-word-wrap:before { content: "\f1e8" }
.codicon-zoom-in:before { content: "\f1e9" }
.codicon-zoom-out:before { content: "\f1ea" }

View File

@@ -20,6 +20,7 @@
padding-right: 6px;
width: 16px;
height: 22px;
line-height: inherit !important;
display: inline-block;
/* fonts icons */

View File

@@ -8,7 +8,7 @@ import { startsWithIgnoreCase, equalsIgnoreCase, endsWith, rtrim } from 'vs/base
import { CharCode } from 'vs/base/common/charCode';
import { sep, posix, isAbsolute, join, normalize } from 'vs/base/common/path';
function isPathSeparator(code: number) {
export function isPathSeparator(code: number) {
return code === CharCode.Slash || code === CharCode.Backslash;
}
@@ -282,4 +282,4 @@ export function isRootOrDriveLetter(path: string): boolean {
}
return pathNormalized === posix.sep;
}
}

View File

@@ -246,7 +246,8 @@ export function relativePath(from: URI, to: URI, ignoreCase = hasToIgnoreCase(fr
}
/**
* Resolves a absolute or relative path against a base URI.
* Resolves an absolute or relative path against a base URI.
* The path can be relative or absolute posix or a Windows path
*/
export function resolvePath(base: URI, path: string): URI {
if (base.scheme === Schemas.file) {
@@ -256,6 +257,12 @@ export function resolvePath(base: URI, path: string): URI {
path: newURI.path
});
}
if (path.indexOf('/') === -1) { // no slashes? it's likely a Windows path
path = extpath.toSlashes(path);
if (/^[a-zA-Z]:(\/|$)/.test(path)) { // starts with a drive letter
path = '/' + path;
}
}
return base.with({
path: paths.posix.resolve(base.path, path)
});
@@ -353,4 +360,4 @@ export function toLocalResource(resource: URI, authority: string | undefined): U
}
return resource.with({ scheme: Schemas.file });
}
}

View File

@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { CharCode } from 'vs/base/common/charCode';
import { Constants } from 'vs/base/common/uint';
export function isFalsyOrWhitespace(str: string | undefined): boolean {
if (!str || typeof str !== 'string') {
@@ -487,6 +488,190 @@ export function isLowSurrogate(charCode: number): boolean {
return (0xDC00 <= charCode && charCode <= 0xDFFF);
}
/**
* get the code point that begins at offset `offset`
*/
export function getNextCodePoint(str: string, len: number, offset: number): number {
const charCode = str.charCodeAt(offset);
if (isHighSurrogate(charCode) && offset + 1 < len) {
const nextCharCode = str.charCodeAt(offset + 1);
if (isLowSurrogate(nextCharCode)) {
return ((charCode - 0xD800) << 10) + (nextCharCode - 0xDC00) + 0x10000;
}
}
return charCode;
}
/**
* get the code point that ends right before offset `offset`
*/
function getPrevCodePoint(str: string, offset: number): number {
const charCode = str.charCodeAt(offset - 1);
if (isLowSurrogate(charCode) && offset > 1) {
const prevCharCode = str.charCodeAt(offset - 2);
if (isHighSurrogate(prevCharCode)) {
return ((prevCharCode - 0xD800) << 10) + (charCode - 0xDC00) + 0x10000;
}
}
return charCode;
}
export function nextCharLength(str: string, offset: number): number {
const initialOffset = offset;
const len = str.length;
let codePoint = getNextCodePoint(str, len, offset);
offset += (codePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
while (offset < len) {
codePoint = getNextCodePoint(str, len, offset);
if (!isUnicodeMark(codePoint)) {
break;
}
offset += (codePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
}
return (offset - initialOffset);
}
export function prevCharLength(str: string, offset: number): number {
const initialOffset = offset;
let codePoint = getPrevCodePoint(str, offset);
offset -= (codePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
while (offset > 0 && isUnicodeMark(codePoint)) {
codePoint = getPrevCodePoint(str, offset);
offset -= (codePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
}
return (initialOffset - offset);
}
function _getCharContainingOffset(str: string, offset: number): [number, number] {
const len = str.length;
const initialOffset = offset;
const initialCodePoint = getNextCodePoint(str, len, offset);
offset += (initialCodePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
// extend to the right
while (offset < len) {
const nextCodePoint = getNextCodePoint(str, len, offset);
if (!isUnicodeMark(nextCodePoint)) {
break;
}
offset += (nextCodePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
}
const endOffset = offset;
// extend to the left
offset = initialOffset;
let codePoint = initialCodePoint;
while (offset > 0 && isUnicodeMark(codePoint)) {
codePoint = getPrevCodePoint(str, offset);
offset -= (codePoint >= Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN ? 2 : 1);
}
return [offset, endOffset];
}
export function getCharContainingOffset(str: string, offset: number): [number, number] {
if (offset > 0 && isLowSurrogate(str.charCodeAt(offset))) {
return _getCharContainingOffset(str, offset - 1);
}
return _getCharContainingOffset(str, offset);
}
export function isUnicodeMark(codePoint: number): boolean {
return MarkClassifier.getInstance().isUnicodeMark(codePoint);
}
class MarkClassifier {
private static _INSTANCE: MarkClassifier | null = null;
public static getInstance(): MarkClassifier {
if (!MarkClassifier._INSTANCE) {
MarkClassifier._INSTANCE = new MarkClassifier();
}
return MarkClassifier._INSTANCE;
}
private arr: Uint8Array;
constructor() {
// generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-mark-test.js
const ranges = [
0x0300, 0x036F, 0x0483, 0x0489, 0x0591, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x05C2, 0x05C4, 0x05C5,
0x05C7, 0x05C7, 0x0610, 0x061A, 0x064B, 0x065F, 0x0670, 0x0670, 0x06D6, 0x06DC, 0x06DF, 0x06E4,
0x06E7, 0x06E8, 0x06EA, 0x06ED, 0x0711, 0x0711, 0x0730, 0x074A, 0x07A6, 0x07B0, 0x07EB, 0x07F3,
0x07FD, 0x07FD, 0x0816, 0x0819, 0x081B, 0x0823, 0x0825, 0x0827, 0x0829, 0x082D, 0x0859, 0x085B,
0x08D3, 0x08E1, 0x08E3, 0x0903, 0x093A, 0x093C, 0x093E, 0x094F, 0x0951, 0x0957, 0x0962, 0x0963,
0x0981, 0x0983, 0x09BC, 0x09BC, 0x09BE, 0x09CD, 0x09D7, 0x09D7, 0x09E2, 0x09E3, 0x09FE, 0x0A03,
0x0A3C, 0x0A51, 0x0A70, 0x0A71, 0x0A75, 0x0A75, 0x0A81, 0x0A83, 0x0ABC, 0x0ABC, 0x0ABE, 0x0ACD,
0x0AE2, 0x0AE3, 0x0AFA, 0x0B03, 0x0B3C, 0x0B3C, 0x0B3E, 0x0B57, 0x0B62, 0x0B63, 0x0B82, 0x0B82,
0x0BBE, 0x0BCD, 0x0BD7, 0x0BD7, 0x0C00, 0x0C04, 0x0C3E, 0x0C56, 0x0C62, 0x0C63, 0x0C81, 0x0C83,
0x0CBC, 0x0CBC, 0x0CBE, 0x0CD6, 0x0CE2, 0x0CE3, 0x0D00, 0x0D03, 0x0D3B, 0x0D3C, 0x0D3E, 0x0D4D,
0x0D57, 0x0D57, 0x0D62, 0x0D63, 0x0D81, 0x0D83, 0x0DCA, 0x0DDF, 0x0DF2, 0x0DF3, 0x0E31, 0x0E31,
0x0E34, 0x0E3A, 0x0E47, 0x0E4E, 0x0EB1, 0x0EB1, 0x0EB4, 0x0EBC, 0x0EC8, 0x0ECD, 0x0F18, 0x0F19,
0x0F35, 0x0F35, 0x0F37, 0x0F37, 0x0F39, 0x0F39, 0x0F3E, 0x0F3F, 0x0F71, 0x0F84, 0x0F86, 0x0F87,
0x0F8D, 0x0FBC, 0x0FC6, 0x0FC6, 0x102B, 0x103E, 0x1056, 0x1059, 0x105E, 0x1060, 0x1062, 0x1064,
0x1067, 0x106D, 0x1071, 0x1074, 0x1082, 0x108D, 0x108F, 0x108F, 0x109A, 0x109D, 0x135D, 0x135F,
0x1712, 0x1714, 0x1732, 0x1734, 0x1752, 0x1753, 0x1772, 0x1773, 0x17B4, 0x17D3, 0x17DD, 0x17DD,
0x180B, 0x180D, 0x1885, 0x1886, 0x18A9, 0x18A9, 0x1920, 0x193B, 0x1A17, 0x1A1B, 0x1A55, 0x1A7F,
0x1AB0, 0x1B04, 0x1B34, 0x1B44, 0x1B6B, 0x1B73, 0x1B80, 0x1B82, 0x1BA1, 0x1BAD, 0x1BE6, 0x1BF3,
0x1C24, 0x1C37, 0x1CD0, 0x1CD2, 0x1CD4, 0x1CE8, 0x1CED, 0x1CED, 0x1CF4, 0x1CF4, 0x1CF7, 0x1CF9,
0x1DC0, 0x1DFF, 0x20D0, 0x20F0, 0x2CEF, 0x2CF1, 0x2D7F, 0x2D7F, 0x2DE0, 0x2DFF, 0x302A, 0x302F,
0x3099, 0x309A, 0xA66F, 0xA672, 0xA674, 0xA67D, 0xA69E, 0xA69F, 0xA6F0, 0xA6F1, 0xA802, 0xA802,
0xA806, 0xA806, 0xA80B, 0xA80B, 0xA823, 0xA827, 0xA82C, 0xA82C, 0xA880, 0xA881, 0xA8B4, 0xA8C5,
0xA8E0, 0xA8F1, 0xA8FF, 0xA8FF, 0xA926, 0xA92D, 0xA947, 0xA953, 0xA980, 0xA983, 0xA9B3, 0xA9C0,
0xA9E5, 0xA9E5, 0xAA29, 0xAA36, 0xAA43, 0xAA43, 0xAA4C, 0xAA4D, 0xAA7B, 0xAA7D, 0xAAB0, 0xAAB0,
0xAAB2, 0xAAB4, 0xAAB7, 0xAAB8, 0xAABE, 0xAABF, 0xAAC1, 0xAAC1, 0xAAEB, 0xAAEF, 0xAAF5, 0xAAF6,
0xABE3, 0xABEA, 0xABEC, 0xABED, 0xFB1E, 0xFB1E, 0xFE00, 0xFE0F, 0xFE20, 0xFE2F, 0x101FD, 0x101FD,
0x102E0, 0x102E0, 0x10376, 0x1037A, 0x10A01, 0x10A0F, 0x10A38, 0x10A3F, 0x10AE5, 0x10AE6, 0x10D24, 0x10D27,
0x10EAB, 0x10EAC, 0x10F46, 0x10F50, 0x11000, 0x11002, 0x11038, 0x11046, 0x1107F, 0x11082, 0x110B0, 0x110BA,
0x11100, 0x11102, 0x11127, 0x11134, 0x11145, 0x11146, 0x11173, 0x11173, 0x11180, 0x11182, 0x111B3, 0x111C0,
0x111C9, 0x111CC, 0x111CE, 0x111CF, 0x1122C, 0x11237, 0x1123E, 0x1123E, 0x112DF, 0x112EA, 0x11300, 0x11303,
0x1133B, 0x1133C, 0x1133E, 0x1134D, 0x11357, 0x11357, 0x11362, 0x11374, 0x11435, 0x11446, 0x1145E, 0x1145E,
0x114B0, 0x114C3, 0x115AF, 0x115C0, 0x115DC, 0x115DD, 0x11630, 0x11640, 0x116AB, 0x116B7, 0x1171D, 0x1172B,
0x1182C, 0x1183A, 0x11930, 0x1193E, 0x11940, 0x11940, 0x11942, 0x11943, 0x119D1, 0x119E0, 0x119E4, 0x119E4,
0x11A01, 0x11A0A, 0x11A33, 0x11A39, 0x11A3B, 0x11A3E, 0x11A47, 0x11A47, 0x11A51, 0x11A5B, 0x11A8A, 0x11A99,
0x11C2F, 0x11C3F, 0x11C92, 0x11CB6, 0x11D31, 0x11D45, 0x11D47, 0x11D47, 0x11D8A, 0x11D97, 0x11EF3, 0x11EF6,
0x16AF0, 0x16AF4, 0x16B30, 0x16B36, 0x16F4F, 0x16F4F, 0x16F51, 0x16F92, 0x16FE4, 0x16FF1, 0x1BC9D, 0x1BC9E,
0x1D165, 0x1D169, 0x1D16D, 0x1D172, 0x1D17B, 0x1D182, 0x1D185, 0x1D18B, 0x1D1AA, 0x1D1AD, 0x1D242, 0x1D244,
0x1DA00, 0x1DA36, 0x1DA3B, 0x1DA6C, 0x1DA75, 0x1DA75, 0x1DA84, 0x1DA84, 0x1DA9B, 0x1E02A, 0x1E130, 0x1E136,
0x1E2EC, 0x1E2EF, 0x1E8D0, 0x1E8D6, 0x1E944, 0x1E94A, 0xE0100, 0xE01EF
];
const maxCodePoint = ranges[ranges.length - 1];
const arrLen = Math.ceil(maxCodePoint / 8);
const arr = new Uint8Array(arrLen);
for (let i = 0, len = ranges.length / 2; i < len; i++) {
const from = ranges[2 * i];
const to = ranges[2 * i + 1];
for (let j = from; j <= to; j++) {
const div8 = j >>> 3;
const mod8 = j & 7;
arr[div8] = arr[div8] | (1 << mod8);
}
}
this.arr = arr;
}
public isUnicodeMark(codePoint: number): boolean {
const div8 = codePoint >>> 3;
const mod8 = codePoint & 7;
if (div8 >= this.arr.length) {
return false;
}
return (this.arr[div8] & (1 << mod8)) ? true : false;
}
}
/**
* Generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-rtl-test.js
*/
@@ -502,7 +687,7 @@ export function containsRTL(str: string): boolean {
/**
* Generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-emoji-test.js
*/
const CONTAINS_EMOJI = /(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/;
const CONTAINS_EMOJI = /(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDE73\uDE78-\uDE82\uDE90-\uDE95])/;
export function containsEmoji(str: string): boolean {
return CONTAINS_EMOJI.test(str);
@@ -572,6 +757,18 @@ export function isFullWidthCharacter(charCode: number): boolean {
);
}
/**
* A fast function (therefore imprecise) to check if code points are emojis.
* Generated using https://github.com/alexandrudima/unicode-utils/blob/master/generate-emoji-test.js
*/
export function isEmojiImprecise(x: number): boolean {
return (
(x >= 0x1F1E6 && x <= 0x1F1FF) || (x >= 9728 && x <= 10175) || (x >= 127744 && x <= 128591)
|| (x >= 128640 && x <= 128764) || (x >= 128992 && x <= 129003) || (x >= 129280 && x <= 129535)
|| (x >= 129648 && x <= 129651) || (x >= 129656 && x <= 129666) || (x >= 129680 && x <= 129685)
);
}
/**
* Given a string and a max length returns a shorted version. Shorting
* happens at favorable positions - such as whitespace or punctuation characters.

View File

@@ -35,7 +35,7 @@ export const enum Constants {
*/
MAX_UINT_32 = 4294967295, // 2^32 - 1
UNICODE_SUPPLEMENTARY_PLANE_BEGIN = 0x010000
}
export function toUint8(v: number): number {

View File

@@ -70,7 +70,8 @@
width: 16px;
height: 16px;
margin-right: 4px;
display: inline-block;
display: flex;
align-items: center;
vertical-align: middle;
flex-shrink: 0;
}
@@ -161,4 +162,4 @@
.monaco-quick-open-widget .quick-open-tree .monaco-highlighted-label .highlight {
font-weight: bold;
}
}

View File

@@ -8,7 +8,7 @@ import { URI } from 'vs/base/common/uri';
import { isWindows } from 'vs/base/common/platform';
import { toSlashes } from 'vs/base/common/extpath';
import { startsWith } from 'vs/base/common/strings';
import { isAbsolute } from 'vs/base/common/path';
import { win32, posix } from 'vs/base/common/path';
suite('Resources', () => {
@@ -294,7 +294,8 @@ suite('Resources', () => {
const actual = resolvePath(u1, path);
assertEqualURI(actual, expected, `from ${u1.toString()} and ${path}`);
if (!isAbsolute(path)) {
const p = path.indexOf('/') !== -1 ? posix : win32;
if (!p.isAbsolute(path)) {
let expectedPath = isWindows ? toSlashes(path) : path;
expectedPath = startsWith(expectedPath, './') ? expectedPath.substr(2) : expectedPath;
assert.equal(relativePath(u1, actual), expectedPath, `relativePath (${u1.toString()}) on actual (${actual.toString()}) should be to path (${expectedPath})`);
@@ -335,6 +336,10 @@ suite('Resources', () => {
assertResolve(URI.parse('foo://server/foo/bar'), 'file.js', URI.parse('foo://server/foo/bar/file.js'));
assertResolve(URI.parse('foo://server/foo/bar'), './file.js', URI.parse('foo://server/foo/bar/file.js'));
assertResolve(URI.parse('foo://server/foo/bar'), './file.js', URI.parse('foo://server/foo/bar/file.js'));
assertResolve(URI.parse('foo://server/foo/bar'), 'c:\\a1\\b1', URI.parse('foo://server/c:/a1/b1'));
assertResolve(URI.parse('foo://server/foo/bar'), 'c:\\', URI.parse('foo://server/c:'));
});
test('isEqual', () => {