aboutsummaryrefslogtreecommitdiff
path: root/lua/lexers/gleam.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lexers/gleam.lua')
-rw-r--r--lua/lexers/gleam.lua26
1 files changed, 13 insertions, 13 deletions
diff --git a/lua/lexers/gleam.lua b/lua/lexers/gleam.lua
index 19eb2d8..b279c5a 100644
--- a/lua/lexers/gleam.lua
+++ b/lua/lexers/gleam.lua
@@ -25,32 +25,32 @@ local fn_name = token(lexer.FUNCTION, name)
local mod_name = token('module', name)
local typ_or_fn = typ_tok + fn_name
local function mod_tok(ws)
- return token(KEY, 'import') * ws^1 * mod_name * (ws^0 * token(OP, '/') * ws^0 * mod_name)^0 *
- (ws^1 * token(KEY, 'as') * ws^1 * mod_name)^-1 *
- (ws^0 * token(OP, '.') * ws^0 * token(OP, '{') * ws^0 * typ_or_fn *
- (ws^0 * token(OP, ',') * ws^0 * typ_or_fn)^0 * ws^0 * token(OP, '}'))^-1
+ return token(KEY, 'import') * ws^1 * mod_name * (ws^0 * token(OP, '/') * ws^0 * mod_name)^0 *
+ (ws^1 * token(KEY, 'as') * ws^1 * mod_name)^-1 *
+ (ws^0 * token(OP, '.') * ws^0 * token(OP, '{') * ws^0 * typ_or_fn *
+ (ws^0 * token(OP, ',') * ws^0 * typ_or_fn)^0 * ws^0 * token(OP, '}'))^-1
end
lex:add_rule('module', mod_tok(gleam_ws))
lex:add_style('module', lexer.styles.constant)
-- Keywords.
local key_tok = token(KEY, word_match(
- 'as assert case const external fn if import let opaque pub todo try tuple type'))
+ 'as assert case const external fn if import let opaque pub todo try tuple type'))
lex:add_rule('keyword', key_tok)
-- Functions.
local function fn_tok(ws)
- local mod_name_op = mod_name * ws^0 * token(OP, '.')
- local fn_def_call = mod_name_op^-1 * ws^0 * fn_name * ws^0 * #P('(')
- local fn_pipe = token(OP, '|>') * ws^0 * (token(KEY, 'fn') + mod_name_op^-1 * fn_name)
- return fn_def_call + fn_pipe
+ local mod_name_op = mod_name * ws^0 * token(OP, '.')
+ local fn_def_call = mod_name_op^-1 * ws^0 * fn_name * ws^0 * #P('(')
+ local fn_pipe = token(OP, '|>') * ws^0 * (token(KEY, 'fn') + mod_name_op^-1 * fn_name)
+ return fn_def_call + fn_pipe
end
lex:add_rule('function', fn_tok(gleam_ws))
-- Labels.
local id = token(lexer.IDENTIFIER, name)
local function lab_tok(ws)
- return token(OP, S('(,')) * ws^0 * token(lexer.LABEL, name) * #(ws^1 * id)
+ return token(OP, S('(,')) * ws^0 * token(lexer.LABEL, name) * #(ws^1 * id)
end
lex:add_rule('label', lab_tok(gleam_ws))
@@ -101,9 +101,9 @@ bitstring:add_style(bitstring._name .. '_whitespace', lexer.styles.whitespace)
bitstring:add_rule('type', typ_tok)
bitstring:add_rule('module', mod_tok(bitstring_ws))
bitstring:add_rule('keyword', key_tok + token(KEY, word_match{
- 'binary', 'bytes', 'int', 'float', 'bit_string', 'bits', 'utf8', 'utf16', 'utf32',
- 'utf8_codepoint', 'utf16_codepoint', 'utf32_codepoint', 'signed', 'unsigned', 'big', 'little',
- 'native', 'unit', 'size'
+ 'binary', 'bytes', 'int', 'float', 'bit_string', 'bits', 'utf8', 'utf16', 'utf32',
+ 'utf8_codepoint', 'utf16_codepoint', 'utf32_codepoint', 'signed', 'unsigned', 'big', 'little',
+ 'native', 'unit', 'size'
}))
bitstring:add_rule('function', fn_tok(bitstring_ws))
bitstring:add_rule('label', lab_tok(bitstring_ws))