Only URLs in comments can be selected through double-click

This commit is contained in:
Raymond Hill 2020-10-11 07:45:58 -04:00
parent 376ef4645f
commit 6ff72af4aa
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
1 changed files with 14 additions and 6 deletions

View File

@ -578,16 +578,24 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
return Pass;
}
}
const s = cm.getLine(line);
// Select URL
let lmatch = /\bhttps?:\/\/\S+$/.exec(s.slice(0, ch));
let rmatch = /^\S+/.exec(s.slice(ch));
const s = cm.getLine(line);
const token = cm.getTokenTypeAt(pos);
let lmatch, rmatch;
let select = false;
// Select URL in comments
if ( token === 'comment link' ) {
lmatch = /\S+$/.exec(s.slice(0, ch));
rmatch = /^\S+/.exec(s.slice(ch));
select = lmatch !== null && rmatch !== null &&
/^https?:\/\//.test(s.slice(lmatch.index));
}
// TODO: add more convenient word-matching cases here
// if ( lmatch === null || rmatch === null ) { ... }
// if ( select === false ) { ... }
if ( lmatch === null || rmatch === null ) { return Pass; }
if ( select === false ) { return Pass; }
cm.setSelection(
{ line, ch: lmatch.index },
{ line, ch: ch + rmatch.index + rmatch[0].length }