vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
rhtml.lua
(533B)
1 -- Copyright 2006-2025 Mitchell. See LICENSE.
2 -- RHTML LPeg lexer.
3
4 local lexer = lexer
5 local P, S = lpeg.P, lpeg.S
6
7 local lex = lexer.new(..., {inherit = lexer.load('html')})
8
9 -- Embedded Ruby.
10 local ruby = lexer.load('rails')
11 local ruby_start_rule = lex:tag(lexer.PREPROCESSOR, '<%' * P('=')^-1)
12 local ruby_end_rule = lex:tag(lexer.PREPROCESSOR, '%>')
13 lex:embed(ruby, ruby_start_rule, ruby_end_rule)
14
15 -- Fold points.
16 lex:add_fold_point(lexer.PREPROCESSOR, '<%', '%>')
17
18 lexer.property['scintillua.comment'] = '<!--|-->'
19
20 return lex