buffers.visualizers.lam.tokens = {
[' '] = {repr = '\\obs '},
+ ['_'] = {repr = '\\_'},
['->'] = {repr = '\\rightarrow'},
+ -- The default * sits very high above the baseline, \ast (u+2217) looks
+ -- better.
+ ['*'] = {repr = '\\ast'},
['case'] = {style = 'bold'},
['of'] = {style = 'bold'},
['let'] = {style = 'bold'},
+ ['in'] = {style = 'bold'},
}
function buffers.visualizers.lam.flush_line(str,nested)
end
end
if not found then
- result[#result+1] = utf.sub(str, 1, 1)
- str = utf.sub(str, 2)
+ -- Take a full word, or a single character. Taking a full word is
+ -- to prevent matching "in" in "bind" , for example.
+ result[#result+1] = utf.match(str, "^%a+") or utf.sub(str, 1, 1)
+ str = utf.sub(str, utf.len(result[#result]) + 1)
end
end
state = finish(state, result)