Add support for the extension "condition"

This special condition doesn't affect the selection process and is only
supported to support syntax highlighting and language detection for alt files
as reported in #239.
This commit is contained in:
Erik Flodin 2020-10-18 21:03:46 +02:00
parent b19c78b8e2
commit f22c4d04cc
No known key found for this signature in database
GPG Key ID: 420A7C865EE3F85F
3 changed files with 10 additions and 0 deletions

View File

@ -81,6 +81,7 @@ def test_relative_link(runner, paths, yadm_alt):
@pytest.mark.usefixtures('ds1_copy')
@pytest.mark.parametrize('suffix', [
'##default',
'##default,e.txt', '##default,extension.txt',
'##o.$tst_sys', '##os.$tst_sys',
'##d.$tst_distro', '##distro.$tst_distro',
'##c.$tst_class', '##class.$tst_class',

4
yadm
View File

@ -175,6 +175,10 @@ function score_file() {
label=${field%%.*}
value=${field#*.}
[ "$field" = "$label" ] && value="" # when .value is omitted
# extension isn't a condition and doesn't affect the score
if [[ "$label" =~ ^(e|extension)$ ]]; then
continue
fi
score=$((score + 1000))
# default condition
if [[ "$label" =~ ^(default)$ ]]; then

5
yadm.1
View File

@ -526,6 +526,11 @@ and trimming off any domain.
.TP
.B default
Valid when no other alternate is valid.
.TP
.BR extension , " e
A special "condition" that doesn't affect the selection process. Its purpose is
instead to allow the alternate file to end with a certain extension to
e.g. make editors highlight the content properly.
.LP
.BR NOTE :