I tested the branch, using directly the gmapsupp.img file in my device: it is working as expected (lots of tests...) except you can't always search correctly for an address when the same last word is used in different streets names.
For example in Padova city (Italy) the following exists:
Via Monte Santo
Via Del Santo
Via Girolamo Dal Santo
Piazza Del Santo
with the mixed-index, if I type "Santo" I get only:
Santo
in the list and if I select it shows the address in Via Monte Santo - the others are ignored. In general it should be beneficial to add as a suffix the remaining of the street name when the word is the last one: I find much more user friendly the behaviour I obtained in the main branch with my custom style, where if I type Santo I get:
Santo, Via Monte
Santo, Via Del
Santo, Piazza Del
Santo, Via Girolamo Dal
in general the last word is always the most significant but it helps to know what was the full name to distinguish different streets named after different persons with same last name (or similar cases); not sure if this can be a general need, for reference below is the style I used with the main branch.
Pls. let me know your point,
# Get the last full word if a \s (whitespace) exist in name
# if the last full word is a roman number - i.e. if a street has been named after a King or
# a Pope - get the last two words
# set the labels used for address search (3&4):
# the 3rd label is set with the last:word as 1st word followed by comma and the remaining words
# the 4th label skipping the 1st word (that is usually Via, Rue, Avenida etc, so not really useful in search)
( mkgmap:country=ITA | mkgmap:country=FRA | mkgmap:country=CHE | mkgmap:country=ESP) & highway=* & name ~ '.*\s.*' { set last:word='${name|part: :-1}' }
last:word ~ '(I|II|III|IV|V|VI.*|IX|X|XI.*|XV.*|XX.*)' {set last:word='${name|part: >-3}' }
last:word=* { set mkgmap:label:3='${last:word}, ${name|part: <-1}';set mkgmap:label:4='${name|part: >1}' }