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

Use native vscode.open command to open URLs.

上级 e1672605
......@@ -1978,11 +1978,6 @@
"resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
"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": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
......@@ -2518,14 +2513,6 @@
"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": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
......
......@@ -119,14 +119,17 @@
]
},
"viewsContainers": {
"activitybar": [{
"activitybar": [
{
"id": "gitlab-workflow",
"title": "GitLab Workflow",
"icon": "src/assets/images/light/gitlab-logo.svg"
}]
}
]
},
"views": {
"gitlab-workflow": [{
"gitlab-workflow": [
{
"id": "issuesAssignedToMe",
"name": "Issues assigned to me"
},
......@@ -193,7 +196,6 @@
},
"dependencies": {
"execa": "^0.9.0",
"opn": "^5.2.0",
"request-promise": "^4.2.2",
"url": "^0.11.0",
"@types/node": "^7.0.43",
......
const vscode = require('vscode');
const opn = require('opn');
const request = require('request-promise');
const fs = require('fs');
const gitService = require('./git_service');
const openers = require('./openers');
const tokenService = require('./token_service');
const statusBar = require('./status_bar');
......@@ -218,7 +218,7 @@ async function handlePipelineAction(action) {
}
if (newPipeline) {
opn(`${project.web_url}/pipelines/${newPipeline.id}`);
openers.openUrl(`${project.web_url}/pipelines/${newPipeline.id}`);
statusBar.refreshPipelines();
}
} else {
......
const vscode = require('vscode');
const opn = require('opn');
const gitService = require('./git_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.
* Link can contain some placeholders which will be replaced by this method
......@@ -23,7 +26,7 @@ async function openLink(link) {
const project = await gitLabService.fetchCurrentProject();
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 {
vscode.window.showInformationMessage(
'GitLab Workflow: Failed to open file on web. No GitLab project.',
......@@ -66,7 +69,7 @@ async function openActiveFile() {
}
}
opn(`${fileUrl}${anchor}`);
openUrl(`${fileUrl}${anchor}`);
} else {
vscode.window.showInformationMessage(
'GitLab Workflow: Failed to open file on web. No GitLab project.',
......@@ -81,7 +84,7 @@ async function openCurrentMergeRequest() {
const mr = await gitLabService.fetchOpenMergeRequestForCurrentBranch();
if (mr) {
opn(mr.web_url);
openUrl(mr.web_url);
}
}
......@@ -95,7 +98,7 @@ async function openCreateNewMr() {
if (project) {
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 {
vscode.window.showInformationMessage(
'GitLab Workflow: Failed to open file on web. No GitLab project.',
......@@ -114,7 +117,7 @@ async function openCurrentPipeline() {
const pipeline = await gitLabService.fetchLastPipelineForCurrentBranch();
if (pipeline) {
opn(`${project.web_url}/pipelines/${pipeline.id}`);
openUrl(`${project.web_url}/pipelines/${pipeline.id}`);
}
}
}
......@@ -131,10 +134,11 @@ async function compareCurrentBranch() {
}
if (project && lastCommitId) {
opn(`${project.web_url}/compare/master...${lastCommitId}`);
openUrl(`${project.web_url}/compare/master...${lastCommitId}`);
}
}
exports.openUrl = openUrl;
exports.showIssues = showIssues;
exports.showMergeRequests = showMergeRequests;
exports.openActiveFile = openActiveFile;
......
const vscode = require('vscode');
const opn = require('opn');
const gitLabService = require('./gitlab_service');
const openers = require('./openers');
const parseQuery = (query, noteableType) => {
const params = {};
......@@ -96,7 +96,7 @@ async function showSearchInputFor(noteableType) {
const project = await gitLabService.fetchCurrentProject();
if (project) {
opn(`${project.web_url}/${noteableType}${queryString}`);
openers.openUrl(`${project.web_url}/${noteableType}${queryString}`);
} else {
vscode.window.showErrorMessage('GitLab Workflow: No project found to search issues');
}
......
const vscode = require('vscode');
const opn = require('opn');
const openers = require('./openers');
const gitLabService = require('./gitlab_service');
const visibilityOptions = [
......@@ -51,7 +51,7 @@ async function createSnippet(project, editor, visibility, context) {
visibility,
});
opn(snippet.web_url);
openers.openUrl(snippet.web_url);
}
async function showPicker() {
......
const vscode = require('vscode');
const opn = require('opn');
const openers = require('./openers');
const gitLabService = require('./gitlab_service');
let context = null;
......@@ -114,7 +114,7 @@ const initMrStatus = () => {
const cmdName = `gl.mrOpener${Date.now()}`;
commandRegisterHelper(cmdName, () => {
if (mr) {
opn(mr.web_url);
openers.openUrl(mr.web_url);
} else {
vscode.window.showInformationMessage('GitLab Workflow: No MR found for this branch.');
}
......@@ -132,7 +132,7 @@ const initMrIssueStatus = () => {
const cmdName = `gl.mrIssueOpener${Date.now()}`;
commandRegisterHelper(cmdName, () => {
if (issue) {
opn(issue.web_url);
openers.openUrl(issue.web_url);
} else {
vscode.window.showInformationMessage('GitLab Workflow: No closing issue found for this MR.');
}
......
const vscode = require('vscode');
const opn = require('opn');
const openers = require('./openers');
const statusBar = require('./status_bar');
let context = null;
......@@ -67,7 +67,7 @@ const askForToken = () => {
if (action === 'set') {
vscode.commands.executeCommand('gl.setToken');
} 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.
先完成此消息的编辑!
想要评论请 注册