@@ -6,6 +6,7 @@ const maybeEncode = (arg) => arg ? encodeURIComponent(arg) : ''
6
6
const defaults = {
7
7
sshtemplate : ( { domain, user, project, committish } ) => `git@${ domain } :${ user } /${ project } .git${ maybeJoin ( '#' , committish ) } ` ,
8
8
sshurltemplate : ( { domain, user, project, committish } ) => `git+ssh://git@${ domain } /${ user } /${ project } .git${ maybeJoin ( '#' , committish ) } ` ,
9
+ edittemplate : ( { domain, user, project, committish, editpath, path } ) => `https://${ domain } /${ user } /${ project } ${ maybeJoin ( '/' , editpath , '/' , maybeEncode ( committish || 'master' ) , '/' , path ) } ` ,
9
10
browsetemplate : ( { domain, user, project, committish, treepath } ) => `https://${ domain } /${ user } /${ project } ${ maybeJoin ( '/' , treepath , '/' , maybeEncode ( committish ) ) } ` ,
10
11
browsefiletemplate : ( { domain, user, project, committish, treepath, path, fragment, hashformat } ) => `https://${ domain } /${ user } /${ project } /${ treepath } /${ maybeEncode ( committish || 'master' ) } /${ path } ${ maybeJoin ( '#' , hashformat ( fragment || '' ) ) } ` ,
11
12
docstemplate : ( { domain, user, project, treepath, committish } ) => `https://${ domain } /${ user } /${ project } ${ maybeJoin ( '/' , treepath , '/' , maybeEncode ( committish ) ) } #readme` ,
@@ -24,6 +25,7 @@ gitHosts.github = Object.assign({}, defaults, {
24
25
protocols : [ 'git:' , 'http:' , 'git+ssh:' , 'git+https:' , 'ssh:' , 'https:' ] ,
25
26
domain : 'github.com' ,
26
27
treepath : 'tree' ,
28
+ editpath : 'edit' ,
27
29
filetemplate : ( { auth, user, project, committish, path } ) => `https://${ maybeJoin ( auth , '@' ) } raw.githubusercontent.com/${ user } /${ project } /${ maybeEncode ( committish ) || 'master' } /${ path } ` ,
28
30
gittemplate : ( { auth, domain, user, project, committish } ) => `git://${ maybeJoin ( auth , '@' ) } ${ domain } /${ user } /${ project } .git${ maybeJoin ( '#' , committish ) } ` ,
29
31
tarballtemplate : ( { domain, user, project, committish } ) => `https://codeload.${ domain } /${ user } /${ project } /tar.gz/${ maybeEncode ( committish ) || 'master' } ` ,
@@ -53,6 +55,8 @@ gitHosts.bitbucket = Object.assign({}, defaults, {
53
55
protocols : [ 'git+ssh:' , 'git+https:' , 'ssh:' , 'https:' ] ,
54
56
domain : 'bitbucket.org' ,
55
57
treepath : 'src' ,
58
+ editpath : '?mode=edit' ,
59
+ edittemplate : ( { domain, user, project, committish, treepath, path, editpath } ) => `https://${ domain } /${ user } /${ project } ${ maybeJoin ( '/' , treepath , '/' , maybeEncode ( committish || 'master' ) , '/' , path , editpath ) } ` ,
56
60
tarballtemplate : ( { domain, user, project, committish } ) => `https://${ domain } /${ user } /${ project } /get/${ maybeEncode ( committish ) || 'master' } .tar.gz` ,
57
61
extract : ( url ) => {
58
62
let [ , user , project , aux ] = url . pathname . split ( '/' , 4 )
@@ -76,6 +80,7 @@ gitHosts.gitlab = Object.assign({}, defaults, {
76
80
protocols : [ 'git+ssh:' , 'git+https:' , 'ssh:' , 'https:' ] ,
77
81
domain : 'gitlab.com' ,
78
82
treepath : 'tree' ,
83
+ editpath : '-/edit' ,
79
84
httpstemplate : ( { auth, domain, user, project, committish } ) => `git+https://${ maybeJoin ( auth , '@' ) } ${ domain } /${ user } /${ project } .git${ maybeJoin ( '#' , committish ) } ` ,
80
85
tarballtemplate : ( { domain, user, project, committish } ) => `https://${ domain } /${ user } /${ project } /repository/archive.tar.gz?ref=${ maybeEncode ( committish ) || 'master' } ` ,
81
86
extract : ( url ) => {
@@ -102,8 +107,10 @@ gitHosts.gitlab = Object.assign({}, defaults, {
102
107
gitHosts . gist = Object . assign ( { } , defaults , {
103
108
protocols : [ 'git:' , 'git+ssh:' , 'git+https:' , 'ssh:' , 'https:' ] ,
104
109
domain : 'gist.github.com' ,
110
+ editpath : 'edit' ,
105
111
sshtemplate : ( { domain, project, committish } ) => `git@${ domain } :${ project } .git${ maybeJoin ( '#' , committish ) } ` ,
106
112
sshurltemplate : ( { domain, project, committish } ) => `git+ssh://git@${ domain } /${ project } .git${ maybeJoin ( '#' , committish ) } ` ,
113
+ edittemplate : ( { domain, user, project, committish, editpath } ) => `https://${ domain } /${ user } /${ project } ${ maybeJoin ( '/' , maybeEncode ( committish ) ) } /${ editpath } ` ,
107
114
browsetemplate : ( { domain, project, committish } ) => `https://${ domain } /${ project } ${ maybeJoin ( '/' , maybeEncode ( committish ) ) } ` ,
108
115
browsefiletemplate : ( { domain, project, committish, path, hashformat } ) => `https://${ domain } /${ project } ${ maybeJoin ( '/' , maybeEncode ( committish ) ) } ${ maybeJoin ( '#' , hashformat ( path ) ) } ` ,
109
116
docstemplate : ( { domain, project, committish } ) => `https://${ domain } /${ project } ${ maybeJoin ( '/' , maybeEncode ( committish ) ) } ` ,
0 commit comments