@@ -195,14 +195,14 @@ function! vim_git_browse#GitPullRequest() abort
195
195
let l: git_root_path = s: GetGitRootPath ()
196
196
if l: git_root_path is v: null
197
197
echo ' [vim-git-browse] Please use in git project'
198
- return
198
+ return 0
199
199
endif
200
200
201
201
let l: branch_name = s: GetCurrentBranchName ()
202
202
let l: latest_commit_hash = s: GetLatestCommitHashRemote (l: branch_name )
203
203
if l: latest_commit_hash is v: null
204
204
echo ' [vim-git-browse] Could not find remote branch ' . l: branch_name
205
- return
205
+ return 0
206
206
endif
207
207
let l: git_remote_url = s: GetGitRemoteUrl ()
208
208
let l: merge_request_url = v: null
@@ -214,29 +214,30 @@ function! vim_git_browse#GitPullRequest() abort
214
214
let l: merge_request_url = s: GetGithubPullRequestUrl (l: git_remote_url , l: latest_commit_hash )
215
215
else
216
216
echo ' [vim-git-browse] Git site not supported'
217
- return
217
+ return 0
218
218
endif
219
219
220
220
if l: merge_request_url is v: null
221
- echo ' [vin -git-browse] Could not find pull/merge request for branch ' . l: branch_name
222
- return
221
+ echo ' [vim -git-browse] Could not find pull/merge request for branch ' . l: branch_name
222
+ return 0
223
223
endif
224
224
225
225
call s: OpenUrl (l: merge_request_url )
226
+ return 1
226
227
endfunction
227
228
228
229
function ! vim_git_browse#GitCreatePullRequest () abort
229
230
echo ' [vim-git-browse] Creating pull request...'
230
231
let l: git_root_path = s: GetGitRootPath ()
231
232
if l: git_root_path is v: null
232
233
echo ' [vim-git-browse] Please use in git project'
233
- return
234
+ return 0
234
235
endif
235
236
236
237
let l: branch_name = s: GetCurrentBranchName ()
237
238
if l: branch_name == g: vim_git_browse_target_branch
238
239
echo ' [vim-git-browse] Source branch can not be the same as target branch'
239
- return
240
+ return 0
240
241
endif
241
242
242
243
let l: git_remote_url = s: GetGitRemoteUrl ()
@@ -249,10 +250,17 @@ function! vim_git_browse#GitCreatePullRequest() abort
249
250
let l: create_merge_request_url = l: git_remote_url . ' /compare/' . g: vim_git_browse_target_branch . ' ...' . l: branch_name
250
251
else
251
252
echo ' [vim-git-browse] Git site not supported'
252
- return
253
+ return 0
253
254
endif
254
255
255
256
call s: OpenUrl (l: create_merge_request_url )
257
+ return 1
258
+ endfunction
259
+
260
+ function ! vim_git_browse#GitOpenPullRequest () abort
261
+ if ! vim_git_browse#GitPullRequest ()
262
+ call vim_git_browse#GitCreatePullRequest ()
263
+ endif
256
264
endfunction
257
265
258
266
let &cpo = s: cpo_save
0 commit comments