Skip to content

Commit

Permalink
Merge pull request #548 from conwnet/master
Browse files Browse the repository at this point in the history
release 0.21.0
  • Loading branch information
conwnet authored Jan 23, 2024
2 parents f40674e + ec24e80 commit 14dca90
Show file tree
Hide file tree
Showing 18 changed files with 160 additions and 760 deletions.
18 changes: 9 additions & 9 deletions extensions/github1s/src/adapters/sourcegraph/data-source.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,24 +35,24 @@ import { getSymbolReferences } from './reference';
import { getRepository } from './repository';
import { getTextSearchResults } from './search';

type SupportedPlatfrom = 'github' | 'gitlab' | 'bitbucket';
type SupportedPlatform = 'github' | 'gitlab' | 'bitbucket';

export class SourcegraphDataSource extends DataSource {
private static instanceMap: Map<SupportedPlatfrom, SourcegraphDataSource> = new Map();
private static instanceMap: Map<SupportedPlatform, SourcegraphDataSource> = new Map();
private refsPromiseMap: Map<string, Promise<{ branches: Branch[]; tags: Tag[] }>> = new Map();
private repositoryPromiseMap: Map<string, Promise<{ name: string; defaultBranch: string } | null>> = new Map();
private fileTypeMap: Map<string, FileType> = new Map(); // cache if path is a directory
private matchedRefsMap: Map<string, string[]> = new Map();
private textEncodder = new TextEncoder();
private textEncoder = new TextEncoder();

public static getInstance(platfrom: SupportedPlatfrom): SourcegraphDataSource {
if (!SourcegraphDataSource.instanceMap.has(platfrom)) {
SourcegraphDataSource.instanceMap.set(platfrom, new SourcegraphDataSource(platfrom));
public static getInstance(platform: SupportedPlatform): SourcegraphDataSource {
if (!SourcegraphDataSource.instanceMap.has(platform)) {
SourcegraphDataSource.instanceMap.set(platform, new SourcegraphDataSource(platform));
}
return SourcegraphDataSource.instanceMap.get(platfrom)!;
return SourcegraphDataSource.instanceMap.get(platform)!;
}

private constructor(private platform: SupportedPlatfrom) {
private constructor(private platform: SupportedPlatform) {
super();
}

Expand Down Expand Up @@ -110,7 +110,7 @@ export class SourcegraphDataSource extends DataSource {
}
// TODO: support binary files for other platforms
const { content } = await readFile(this.buildRepository(repo), ref, path);
return { content: this.textEncodder.encode(content) };
return { content: this.textEncoder.encode(content) };
}

async prepareAllRefs(repo: string) {
Expand Down
2 changes: 1 addition & 1 deletion extensions/github1s/src/adapters/sourcegraph/file.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const DirectoryQuery = gql`
repository(name: $repository) {
commit(rev: $ref) {
tree(path: $path) {
entries(first: ${FILE_COUNT_LIMIT}, recursive: $recursive, recursiveSingleChild: false) {
entries(first: ${FILE_COUNT_LIMIT}, recursive: $recursive) {
path
isDirectory
# TODO submodule don't work now
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"lib": "lib"
},
"devDependencies": {
"@github1s/vscode-web": "0.15.0",
"@github1s/vscode-web": "0.16.0",
"@typescript-eslint/eslint-plugin": "^5.40.1",
"@typescript-eslint/parser": "^5.40.1",
"chokidar": "^3.5.3",
Expand Down
6 changes: 3 additions & 3 deletions tests/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1760,9 +1760,9 @@ find-up@^4.0.0, find-up@^4.1.0:
path-exists "^4.0.0"

follow-redirects@^1.14.0:
version "1.15.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
version "1.15.4"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf"
integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==

for-in@^1.0.2:
version "1.0.2"
Expand Down
2 changes: 1 addition & 1 deletion vscode-web/.VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.84.2
1.85.2
2 changes: 1 addition & 1 deletion vscode-web/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@github1s/vscode-web",
"version": "0.15.0",
"version": "0.16.0",
"description": "VS Code web for GitHub1s",
"author": "github1s",
"license": "MIT",
Expand Down
19 changes: 9 additions & 10 deletions vscode-web/scripts/.patch
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
{
"vs/code/browser/workbench/workbench.ts": "a954327b52b6ed462b3b7fbd2301c6ba11bf135ca7ba70c5f552214309492946",
"vs/editor/common/config/editorOptions.ts": "043c420c18f97c42b9fa45a0f12b10ab81f464a3d3293d177dfbf4d63e4693be",
"vs/workbench/browser/parts/activitybar/activitybarPart.ts": "7396307c8bcf88eb7b306fbe5c3648a4eeb7fe817de4f508ed6ce256d3aab9ea",
"vs/workbench/browser/parts/titlebar/media/titlebarpart.css": "12ee25ef0c98f63a6f3dbc3d78c648408db81c165aa547d8c7dcfe89c5d25e8c",
"vs/workbench/browser/web.main.ts": "6fe9eeb0cdebd7e95fcb7da48524aded5b544b41a31752486e8351cd505ab9f5",
"vs/workbench/contrib/files/browser/editors/fileEditorInput.ts": "27714e54f72edb805459d991c607d2867bd791e46d4c58eb4ab1a418f767e817",
"vs/workbench/contrib/webview/browser/pre/index.html": "6dc11aefde8587732dba85116dac2718cef9287075c8d3a306663a7741e6910f",
"vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.ts": "3cc4c831bcffc9b2837890d64c651ba5508af9e9693d6d2cf425305ff27cba9f",
"vs/code/browser/workbench/workbench.ts": "66d3d7f717a67bf5b4432e1968fa68c1af8fa5552df7e958afd07c64cde3e247",
"vs/editor/common/config/editorOptions.ts": "96ffe6e1c00b19b8866e4bb5505241681f8d9956558127bb7b0b369ca4d30d52",
"vs/workbench/browser/parts/activitybar/activitybarPart.ts": "d86dbe51c3371291a5d23a9d359f7d6e19568d6d46a859f908d25b4d5b9e5448",
"vs/workbench/browser/parts/titlebar/media/titlebarpart.css": "cbbe54c7a07edb4abac784cc9a611a44866fa04a18b79f601e3588cbcf3bbbfe",
"vs/workbench/browser/web.main.ts": "3bb15c0567d512161cd0ed27e4e38169888e410467b56974ff1613baa349dbe9",
"vs/workbench/contrib/files/browser/editors/fileEditorInput.ts": "26148e61f419d2afa6b35f6ae551af9faafb133a01a7fcac6f859c8c44526216",
"vs/workbench/contrib/webview/browser/pre/index.html": "256fae7173fdabfed8963f6d15852609b15630d6e68ddbc281def651a23c76bb",
"vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.ts": "a301513f75bdecf781c0e8703e0c2f22c164039972dcbc99b12524f2073ccc43",
"vs/workbench/services/label/common/labelService.ts": "73237cce0f9496151ea8ae5079676bbdfa15ce49de9b05621d39fcd04e9c1f0d",
"vs/workbench/services/textfile/browser/textFileService.ts": "193176bfccbbeae7fdf7b546992647554503dc4df8579db7094a4eee3cf50451",
"vs/workbench/services/editor/browser/editorResolverService.ts": "43cd774a4715e98afaf85b3d44f0381d0b83dc1b9cd75fc090553f84fa0f7e80",
"vs/workbench/browser/parts/globalCompositeBar.ts": "d3ae76e7831976c34be6b9bf07eb87b05eb46d45eb7ebff039169a8f5372ff87"
"vs/workbench/services/editor/browser/editorResolverService.ts": "79831ee3ed18eb8c25a41baf9bc4060f2330468d636c7c142fd238389ce97775"
}
3 changes: 1 addition & 2 deletions vscode-web/src/vs/code/browser/workbench/workbench.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@

import { create } from 'vs/workbench/workbench.web.main';
import { IExtensionManifest } from 'vs/platform/extensions/common/extensions';
import { IWorkbenchConstructionOptions } from 'vs/workbench/browser/web.api';
import { IWorkspaceProvider } from 'vs/workbench/services/host/browser/browserHostService';
import { IWorkspaceProvider, IWorkbenchConstructionOptions } from 'vs/workbench/browser/web.api';
import { URI, UriComponents } from 'vs/base/common/uri';
import { env } from 'vs/workbench/browser/web.factory';

Expand Down
72 changes: 51 additions & 21 deletions vscode-web/src/vs/editor/common/config/editorOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -559,14 +559,12 @@ export interface IEditorOptions {
selectionHighlight?: boolean;
/**
* Enable semantic occurrences highlight.
* Defaults to true.
*/
occurrencesHighlight?: boolean;
/**
* Enable semantic occurrences highlight.
* Defaults to true.
* Defaults to 'singleFile'.
* 'off' disables occurrence highlighting
* 'singleFile' triggers occurrence highlighting in the current document
* 'multiFile' triggers occurrence highlighting across valid open documents
*/
multiDocumentOccurrencesHighlight?: boolean;
occurrencesHighlight?: 'off' | 'singleFile' | 'multiFile';
/**
* Show code lens
* Defaults to true.
Expand Down Expand Up @@ -2722,6 +2720,12 @@ class WrappingStrategy extends BaseEditorOption<EditorOption.wrappingStrategy, '

//#region lightbulb

export enum ShowAiIconMode {
Off = 'off',
OnCode = 'onCode',
On = 'on'
}

/**
* Configuration options for editor lightbulb
*/
Expand All @@ -2731,6 +2735,13 @@ export interface IEditorLightbulbOptions {
* Defaults to true.
*/
enabled?: boolean;

experimental?: {
/**
* Highlight AI code actions with AI icon
*/
showAiIcon?: ShowAiIconMode;
};
}

/**
Expand All @@ -2741,7 +2752,7 @@ export type EditorLightbulbOptions = Readonly<Required<IEditorLightbulbOptions>>
class EditorLightbulb extends BaseEditorOption<EditorOption.lightbulb, IEditorLightbulbOptions, EditorLightbulbOptions> {

constructor() {
const defaults: EditorLightbulbOptions = { enabled: true };
const defaults: EditorLightbulbOptions = { enabled: true, experimental: { showAiIcon: ShowAiIconMode.Off } };
super(
EditorOption.lightbulb, 'lightbulb', defaults,
{
Expand All @@ -2750,6 +2761,17 @@ class EditorLightbulb extends BaseEditorOption<EditorOption.lightbulb, IEditorLi
default: defaults.enabled,
description: nls.localize('codeActions', "Enables the Code Action lightbulb in the editor.")
},
'editor.lightbulb.experimental.showAiIcon': {
type: 'string',
enum: [ShowAiIconMode.Off, ShowAiIconMode.OnCode, ShowAiIconMode.On],
default: defaults.experimental.showAiIcon,
enumDescriptions: [
nls.localize('editor.lightbulb.showAiIcon.off', 'Don not show the AI icon.'),
nls.localize('editor.lightbulb.showAiIcon.onCode', 'Show an AI icon when the code action menu contains an AI action, but only on code.'),
nls.localize('editor.lightbulb.showAiIcon.on', 'Show an AI icon when the code action menu contains an AI action, on code and empty lines.'),
],
description: nls.localize('showAiIcons', "Show an AI icon along with the lightbulb when the code action menu contains an AI action.")
},
}
);
}
Expand All @@ -2760,7 +2782,10 @@ class EditorLightbulb extends BaseEditorOption<EditorOption.lightbulb, IEditorLi
}
const input = _input as IEditorLightbulbOptions;
return {
enabled: boolean(input.enabled, this.defaultValue.enabled)
enabled: boolean(input.enabled, this.defaultValue.enabled),
experimental: {
showAiIcon: stringSet(input.experimental?.showAiIcon, this.defaultValue.experimental?.showAiIcon, [ShowAiIconMode.Off, ShowAiIconMode.OnCode, ShowAiIconMode.On])
}
};
}
}
Expand Down Expand Up @@ -3972,7 +3997,7 @@ export interface IInlineSuggestOptions {
*/
mode?: 'prefix' | 'subword' | 'subwordSmart';

showToolbar?: 'always' | 'onHover';
showToolbar?: 'always' | 'onHover' | 'never';

suppressSuggestions?: boolean;

Expand Down Expand Up @@ -4011,10 +4036,11 @@ class InlineEditorSuggest extends BaseEditorOption<EditorOption.inlineSuggest, I
'editor.inlineSuggest.showToolbar': {
type: 'string',
default: defaults.showToolbar,
enum: ['always', 'onHover'],
enum: ['always', 'onHover', 'never'],
enumDescriptions: [
nls.localize('inlineSuggest.showToolbar.always', "Show the inline suggestion toolbar whenever an inline suggestion is shown."),
nls.localize('inlineSuggest.showToolbar.onHover', "Show the inline suggestion toolbar when hovering over an inline suggestion."),
nls.localize('inlineSuggest.showToolbar.never', "Never show the inline suggestion toolbar."),
],
description: nls.localize('inlineSuggest.showToolbar', "Controls when to show the inline suggestion toolbar."),
},
Expand All @@ -4035,7 +4061,7 @@ class InlineEditorSuggest extends BaseEditorOption<EditorOption.inlineSuggest, I
return {
enabled: boolean(input.enabled, this.defaultValue.enabled),
mode: stringSet(input.mode, this.defaultValue.mode, ['prefix', 'subword', 'subwordSmart']),
showToolbar: stringSet(input.showToolbar, this.defaultValue.showToolbar, ['always', 'onHover']),
showToolbar: stringSet(input.showToolbar, this.defaultValue.showToolbar, ['always', 'onHover', 'never']),
suppressSuggestions: boolean(input.suppressSuggestions, this.defaultValue.suppressSuggestions),
keepOnBlur: boolean(input.keepOnBlur, this.defaultValue.keepOnBlur),
};
Expand Down Expand Up @@ -4911,7 +4937,7 @@ class EditorDropIntoEditor extends BaseEditorOption<EditorOption.dropIntoEditor,
'editor.dropIntoEditor.enabled': {
type: 'boolean',
default: defaults.enabled,
markdownDescription: nls.localize('dropIntoEditor.enabled', "Controls whether you can drag and drop a file into a text editor by holding down `shift` (instead of opening the file in an editor)."),
markdownDescription: nls.localize('dropIntoEditor.enabled', "Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor)."),
},
'editor.dropIntoEditor.showDropSelector': {
type: 'string',
Expand Down Expand Up @@ -5121,7 +5147,6 @@ export const enum EditorOption {
multiCursorModifier,
multiCursorPaste,
multiCursorLimit,
multiDocumentOccurrencesHighlight,
occurrencesHighlight,
overviewRulerBorder,
overviewRulerLanes,
Expand Down Expand Up @@ -5620,13 +5645,18 @@ export const EditorOptions = {
markdownDescription: nls.localize('multiCursorLimit', "Controls the max number of cursors that can be in an active editor at once.")
}
)),
occurrencesHighlight: register(new EditorBooleanOption(
EditorOption.occurrencesHighlight, 'occurrencesHighlight', true,
{ description: nls.localize('occurrencesHighlight', "Controls whether the editor should highlight semantic symbol occurrences.") }
)),
multiDocumentOccurrencesHighlight: register(new EditorBooleanOption(
EditorOption.multiDocumentOccurrencesHighlight, 'multiDocumentOccurrencesHighlight', false,
{ description: nls.localize('multiDocumentOccurrencesHighlight', "Experimental: Controls whether the editor should highlight word occurrences accross multiple open editors.") }
occurrencesHighlight: register(new EditorStringEnumOption(
EditorOption.occurrencesHighlight, 'occurrencesHighlight',
'singleFile' as 'off' | 'singleFile' | 'multiFile',
['off', 'singleFile', 'multiFile'] as const,
{
markdownEnumDescriptions: [
nls.localize('occurrencesHighlight.off', "Does not highlight occurrences."),
nls.localize('occurrencesHighlight.singleFile', "Highlights occurrences only in the current file."),
nls.localize('occurrencesHighlight.multiFile', "Experimental: Highlights occurrences across all valid open files.")
],
markdownDescription: nls.localize('occurrencesHighlight', "Controls whether occurrences should be highlighted across open files.")
}
)),
overviewRulerBorder: register(new EditorBooleanOption(
EditorOption.overviewRulerBorder, 'overviewRulerBorder', true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,20 +134,22 @@ export class ActivitybarPart extends Part {
container.style.borderColor = borderColor ? borderColor : '';
}

show(): void {
show(focus?: boolean): void {
if (!this.content) {
return;
}

if (this.compositeBar.value) {
return;
}
if (!this.compositeBar.value) {
this.compositeBar.value = this.createCompositeBar();
this.compositeBar.value.create(this.content);

this.compositeBar.value = this.createCompositeBar();
this.compositeBar.value.create(this.content);
if (this.dimension) {
this.layout(this.dimension.width, this.dimension.height);
}
}

if (this.dimension) {
this.layout(this.dimension.width, this.dimension.height);
if (focus) {
this.focus();
}
}

Expand Down Expand Up @@ -340,6 +342,9 @@ export class ActivityBarCompositeBar extends PaneCompositeBar {
homeBarContainer.style.maskImage = logoImage;
homeBarContainer.style.webkitMaskImage = logoImage;
}
if (logo?.title) {
homeBarContainer.title = logo?.title
}
if (logo?.onClick) {
homeBarContainer.onclick = logo.onClick;
homeBarContainer.classList.add('home-bar-clickable');
Expand Down Expand Up @@ -483,7 +488,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarAppearanceMenu, {
submenu: MenuId.ActivityBarPositionMenu,
title: localize('positionActivituBar', "Activity Bar Position"),
group: '3_workbench_layout_move',
order: 1
order: 2
});

MenuRegistry.appendMenuItem(MenuId.ViewContainerTitleContext, {
Expand Down
Loading

1 comment on commit 14dca90

@vercel
Copy link

@vercel vercel bot commented on 14dca90 Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.