aboutsummaryrefslogtreecommitdiff
path: root/lua/lexers/less.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lexers/less.lua')
-rw-r--r--lua/lexers/less.lua25
1 files changed, 9 insertions, 16 deletions
diff --git a/lua/lexers/less.lua b/lua/lexers/less.lua
index 2f56cdd..317d252 100644
--- a/lua/lexers/less.lua
+++ b/lua/lexers/less.lua
@@ -1,27 +1,20 @@
--- Copyright 2006-2017 Robert Gieseke. See LICENSE.
+-- Copyright 2006-2022 Robert Gieseke. See LICENSE.
-- Less CSS LPeg lexer.
-- http://lesscss.org
-local l = require('lexer')
-local token = l.token
+local lexer = require('lexer')
+local token = lexer.token
local S = lpeg.S
-local M = {_NAME = 'less'}
+local lex = lexer.new('less', {inherit = lexer.load('css')})
-- Line comments.
-local line_comment = token(l.COMMENT, '//' * l.nonnewline^0)
+lex:add_rule('line_comment', token(lexer.COMMENT, lexer.to_eol('//')))
-- Variables.
-local variable = token(l.VARIABLE, '@' * (l.alnum + S('_-{}'))^1)
+lex:add_rule('variable', token(lexer.VARIABLE, '@' * (lexer.alnum + S('_-{}'))^1))
-local css = l.load('css')
-local _rules = css._rules
-table.insert(_rules, #_rules - 1, {'line_comment', line_comment})
-table.insert(_rules, #_rules - 1, {'variable', variable})
-M._rules = _rules
+-- Fold points.
+lex:add_fold_point(lexer.COMMENT, lexer.fold_consecutive_lines('//'))
-M._tokenstyles = css._tokenstyles
-
-M._foldsymbols = css._foldsymbols
-
-return M
+return lex