From bb94e22d3423fe458de4bc9621379ddebb7fe7e3 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+orbitalquark@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:30:00 +0200 Subject: lua/lexers: synchronization with new release scintillua_6.6 Bugfixes: - Fixed Pascal numeric literals. - Fixed folding of HTML/XML comments and XML processing instructions. - Fixed incorrectly highlighting '..' range operators between numbers. Changes: - Added Janet and todo.txt lexers. - Updated Python lexer to recognize t-strings. - Migrated ini and Dart lexers. - Updated org lexer word lists. --- lua/lexers/ini.lua | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'lua/lexers/ini.lua') diff --git a/lua/lexers/ini.lua b/lua/lexers/ini.lua index 31fc4bb..0477b8d 100644 --- a/lua/lexers/ini.lua +++ b/lua/lexers/ini.lua @@ -1,38 +1,37 @@ -- Copyright 2006-2025 Mitchell. See LICENSE. -- Ini LPeg lexer. -local lexer = require('lexer') -local token, word_match = lexer.token, lexer.word_match -local P, S = lpeg.P, lpeg.S +local lexer = lexer +local S = lpeg.S -local lex = lexer.new('ini') - --- Whitespace. -lex:add_rule('whitespace', token(lexer.WHITESPACE, lexer.space^1)) +local lex = lexer.new(...) -- Keywords. -lex:add_rule('keyword', token(lexer.KEYWORD, word_match('true false on off yes no'))) +lex:add_rule('keyword', lex:tag(lexer.KEYWORD, lex:word_match(lexer.KEYWORD))) -- Identifiers. -lex:add_rule('identifier', token(lexer.IDENTIFIER, (lexer.alpha + '_') * (lexer.alnum + S('_.'))^0)) +lex:add_rule('identifier', + lex:tag(lexer.IDENTIFIER, (lexer.alpha + '_') * (lexer.alnum + S('_. '))^0)) -- Strings. local sq_str = lexer.range("'") local dq_str = lexer.range('"') -lex:add_rule('string', token(lexer.STRING, sq_str + dq_str)) +lex:add_rule('string', lex:tag(lexer.STRING, sq_str + dq_str)) --- Labels. -lex:add_rule('label', token(lexer.LABEL, lexer.range('[', ']', true))) +-- Section labels/headers. +lex:add_rule('label', lex:tag(lexer.LABEL, lexer.range('[', ']', true))) -- Comments. -lex:add_rule('comment', token(lexer.COMMENT, lexer.to_eol(lexer.starts_line(S(';#'))))) +lex:add_rule('comment', lex:tag(lexer.COMMENT, lexer.to_eol(lexer.starts_line(S(';#'))))) -- Numbers. -local integer = S('+-')^-1 * (lexer.hex_num + lexer.oct_num_('_') + lexer.dec_num_('_')) -lex:add_rule('number', token(lexer.NUMBER, lexer.float + integer)) +lex:add_rule('number', lex:tag(lexer.NUMBER, lexer.float + lexer.integer)) -- Operators. -lex:add_rule('operator', token(lexer.OPERATOR, '=')) +lex:add_rule('operator', lex:tag(lexer.OPERATOR, S('=:'))) + +-- Word lists +lex:set_word_list(lexer.KEYWORD, 'true false on off yes no') lexer.property['scintillua.comment'] = '#' -- cgit v1.2.3