未验证 提交 080a8c60 编写于 作者: F Fatih Acet

Use native vscode.open command to open URLs.

上级 e1672605
...@@ -1978,11 +1978,6 @@ ...@@ -1978,11 +1978,6 @@
"resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
"integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=" "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
}, },
"is-wsl": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
"integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
},
"isarray": { "isarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
...@@ -2518,14 +2513,6 @@ ...@@ -2518,14 +2513,6 @@
"mimic-fn": "1.2.0" "mimic-fn": "1.2.0"
} }
}, },
"opn": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz",
"integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==",
"requires": {
"is-wsl": "1.1.0"
}
},
"optionator": { "optionator": {
"version": "0.8.2", "version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
......
...@@ -119,14 +119,17 @@ ...@@ -119,14 +119,17 @@
] ]
}, },
"viewsContainers": { "viewsContainers": {
"activitybar": [{ "activitybar": [
"id": "gitlab-workflow", {
"title": "GitLab Workflow", "id": "gitlab-workflow",
"icon": "src/assets/images/light/gitlab-logo.svg" "title": "GitLab Workflow",
}] "icon": "src/assets/images/light/gitlab-logo.svg"
}
]
}, },
"views": { "views": {
"gitlab-workflow": [{ "gitlab-workflow": [
{
"id": "issuesAssignedToMe", "id": "issuesAssignedToMe",
"name": "Issues assigned to me" "name": "Issues assigned to me"
}, },
...@@ -193,7 +196,6 @@ ...@@ -193,7 +196,6 @@
}, },
"dependencies": { "dependencies": {
"execa": "^0.9.0", "execa": "^0.9.0",
"opn": "^5.2.0",
"request-promise": "^4.2.2", "request-promise": "^4.2.2",
"url": "^0.11.0", "url": "^0.11.0",
"@types/node": "^7.0.43", "@types/node": "^7.0.43",
......
const vscode = require('vscode'); const vscode = require('vscode');
const opn = require('opn');
const request = require('request-promise'); const request = require('request-promise');
const fs = require('fs'); const fs = require('fs');
const gitService = require('./git_service'); const gitService = require('./git_service');
const openers = require('./openers');
const tokenService = require('./token_service'); const tokenService = require('./token_service');
const statusBar = require('./status_bar'); const statusBar = require('./status_bar');
...@@ -218,7 +218,7 @@ async function handlePipelineAction(action) { ...@@ -218,7 +218,7 @@ async function handlePipelineAction(action) {
} }
if (newPipeline) { if (newPipeline) {
opn(`${project.web_url}/pipelines/${newPipeline.id}`); openers.openUrl(`${project.web_url}/pipelines/${newPipeline.id}`);
statusBar.refreshPipelines(); statusBar.refreshPipelines();
} }
} else { } else {
......
const vscode = require('vscode'); const vscode = require('vscode');
const opn = require('opn');
const gitService = require('./git_service'); const gitService = require('./git_service');
const gitLabService = require('./gitlab_service'); const gitLabService = require('./gitlab_service');
const openUrl = (url) => {
vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(url));
}
/** /**
* Fetches user and project before opening a link. * Fetches user and project before opening a link.
* Link can contain some placeholders which will be replaced by this method * Link can contain some placeholders which will be replaced by this method
...@@ -23,7 +26,7 @@ async function openLink(link) { ...@@ -23,7 +26,7 @@ async function openLink(link) {
const project = await gitLabService.fetchCurrentProject(); const project = await gitLabService.fetchCurrentProject();
if (project) { if (project) {
opn(link.replace('$userId', user.id).replace('$projectUrl', project.web_url)); openUrl(link.replace('$userId', user.id).replace('$projectUrl', project.web_url));
} else { } else {
vscode.window.showInformationMessage( vscode.window.showInformationMessage(
'GitLab Workflow: Failed to open file on web. No GitLab project.', 'GitLab Workflow: Failed to open file on web. No GitLab project.',
...@@ -66,7 +69,7 @@ async function openActiveFile() { ...@@ -66,7 +69,7 @@ async function openActiveFile() {
} }
} }
opn(`${fileUrl}${anchor}`); openUrl(`${fileUrl}${anchor}`);
} else { } else {
vscode.window.showInformationMessage( vscode.window.showInformationMessage(
'GitLab Workflow: Failed to open file on web. No GitLab project.', 'GitLab Workflow: Failed to open file on web. No GitLab project.',
...@@ -81,7 +84,7 @@ async function openCurrentMergeRequest() { ...@@ -81,7 +84,7 @@ async function openCurrentMergeRequest() {
const mr = await gitLabService.fetchOpenMergeRequestForCurrentBranch(); const mr = await gitLabService.fetchOpenMergeRequestForCurrentBranch();
if (mr) { if (mr) {
opn(mr.web_url); openUrl(mr.web_url);
} }
} }
...@@ -95,7 +98,7 @@ async function openCreateNewMr() { ...@@ -95,7 +98,7 @@ async function openCreateNewMr() {
if (project) { if (project) {
const branchName = await gitService.fetchTrackingBranchName(); const branchName = await gitService.fetchTrackingBranchName();
opn(`${project.web_url}/merge_requests/new?merge_request%5Bsource_branch%5D=${branchName}`); openUrl(`${project.web_url}/merge_requests/new?merge_request%5Bsource_branch%5D=${branchName}`);
} else { } else {
vscode.window.showInformationMessage( vscode.window.showInformationMessage(
'GitLab Workflow: Failed to open file on web. No GitLab project.', 'GitLab Workflow: Failed to open file on web. No GitLab project.',
...@@ -114,7 +117,7 @@ async function openCurrentPipeline() { ...@@ -114,7 +117,7 @@ async function openCurrentPipeline() {
const pipeline = await gitLabService.fetchLastPipelineForCurrentBranch(); const pipeline = await gitLabService.fetchLastPipelineForCurrentBranch();
if (pipeline) { if (pipeline) {
opn(`${project.web_url}/pipelines/${pipeline.id}`); openUrl(`${project.web_url}/pipelines/${pipeline.id}`);
} }
} }
} }
...@@ -131,10 +134,11 @@ async function compareCurrentBranch() { ...@@ -131,10 +134,11 @@ async function compareCurrentBranch() {
} }
if (project && lastCommitId) { if (project && lastCommitId) {
opn(`${project.web_url}/compare/master...${lastCommitId}`); openUrl(`${project.web_url}/compare/master...${lastCommitId}`);
} }
} }
exports.openUrl = openUrl;
exports.showIssues = showIssues; exports.showIssues = showIssues;
exports.showMergeRequests = showMergeRequests; exports.showMergeRequests = showMergeRequests;
exports.openActiveFile = openActiveFile; exports.openActiveFile = openActiveFile;
......
const vscode = require('vscode'); const vscode = require('vscode');
const opn = require('opn');
const gitLabService = require('./gitlab_service'); const gitLabService = require('./gitlab_service');
const openers = require('./openers');
const parseQuery = (query, noteableType) => { const parseQuery = (query, noteableType) => {
const params = {}; const params = {};
...@@ -96,7 +96,7 @@ async function showSearchInputFor(noteableType) { ...@@ -96,7 +96,7 @@ async function showSearchInputFor(noteableType) {
const project = await gitLabService.fetchCurrentProject(); const project = await gitLabService.fetchCurrentProject();
if (project) { if (project) {
opn(`${project.web_url}/${noteableType}${queryString}`); openers.openUrl(`${project.web_url}/${noteableType}${queryString}`);
} else { } else {
vscode.window.showErrorMessage('GitLab Workflow: No project found to search issues'); vscode.window.showErrorMessage('GitLab Workflow: No project found to search issues');
} }
......
const vscode = require('vscode'); const vscode = require('vscode');
const opn = require('opn'); const openers = require('./openers');
const gitLabService = require('./gitlab_service'); const gitLabService = require('./gitlab_service');
const visibilityOptions = [ const visibilityOptions = [
...@@ -51,7 +51,7 @@ async function createSnippet(project, editor, visibility, context) { ...@@ -51,7 +51,7 @@ async function createSnippet(project, editor, visibility, context) {
visibility, visibility,
}); });
opn(snippet.web_url); openers.openUrl(snippet.web_url);
} }
async function showPicker() { async function showPicker() {
......
const vscode = require('vscode'); const vscode = require('vscode');
const opn = require('opn'); const openers = require('./openers');
const gitLabService = require('./gitlab_service'); const gitLabService = require('./gitlab_service');
let context = null; let context = null;
...@@ -114,7 +114,7 @@ const initMrStatus = () => { ...@@ -114,7 +114,7 @@ const initMrStatus = () => {
const cmdName = `gl.mrOpener${Date.now()}`; const cmdName = `gl.mrOpener${Date.now()}`;
commandRegisterHelper(cmdName, () => { commandRegisterHelper(cmdName, () => {
if (mr) { if (mr) {
opn(mr.web_url); openers.openUrl(mr.web_url);
} else { } else {
vscode.window.showInformationMessage('GitLab Workflow: No MR found for this branch.'); vscode.window.showInformationMessage('GitLab Workflow: No MR found for this branch.');
} }
...@@ -132,7 +132,7 @@ const initMrIssueStatus = () => { ...@@ -132,7 +132,7 @@ const initMrIssueStatus = () => {
const cmdName = `gl.mrIssueOpener${Date.now()}`; const cmdName = `gl.mrIssueOpener${Date.now()}`;
commandRegisterHelper(cmdName, () => { commandRegisterHelper(cmdName, () => {
if (issue) { if (issue) {
opn(issue.web_url); openers.openUrl(issue.web_url);
} else { } else {
vscode.window.showInformationMessage('GitLab Workflow: No closing issue found for this MR.'); vscode.window.showInformationMessage('GitLab Workflow: No closing issue found for this MR.');
} }
......
const vscode = require('vscode'); const vscode = require('vscode');
const opn = require('opn'); const openers = require('./openers');
const statusBar = require('./status_bar'); const statusBar = require('./status_bar');
let context = null; let context = null;
...@@ -67,7 +67,7 @@ const askForToken = () => { ...@@ -67,7 +67,7 @@ const askForToken = () => {
if (action === 'set') { if (action === 'set') {
vscode.commands.executeCommand('gl.setToken'); vscode.commands.executeCommand('gl.setToken');
} else { } else {
opn('https://gitlab.com/fatihacet/gitlab-vscode-extension#setup'); openers.openUrl('https://gitlab.com/fatihacet/gitlab-vscode-extension#setup');
} }
} }
}); });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册