-module(yum@yaml@lexer).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/yum/yaml/lexer.gleam").
-export([lex/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/yum/yaml/lexer.gleam", 25).
?DOC(false).
-spec lexer() -> nibble@lexer:lexer(yum@yaml@token:token(), yum@yaml@lexer@context:context()).
lexer() ->
nibble@lexer:advanced(fun(Ctx) -> case Ctx of
{block_style, _} ->
[yum@yaml@lexer@comment:lexer(),
yum@yaml@lexer@directive:lexer(),
yum@yaml@lexer@document_marker:lexer(),
yum@yaml@lexer@indentation:lexer()];
{flow_style, _} ->
[yum@yaml@lexer@comment:lexer(),
yum@yaml@lexer@directive:lexer(),
yum@yaml@lexer@document_marker:lexer(),
yum@yaml@lexer@indentation:lexer(),
yum@yaml@lexer@plain_scalar:lexer()];
{flow_mapping, _} ->
[yum@yaml@lexer@comment:lexer(),
yum@yaml@lexer@flow_mapping:lexer()];
{flow_sequence, _} ->
[yum@yaml@lexer@comment:lexer(),
yum@yaml@lexer@flow_sequence:lexer()];
{block_scalar, _, _} ->
[yum@yaml@lexer@block_scalar:lexer()];
{double_quoted_scalar, _} ->
[yum@yaml@lexer@double_quoted_scalar:lexer()];
{single_quoted_scalar, _} ->
[yum@yaml@lexer@single_quoted_scalar:lexer()];
{double_quoted_escape, _} ->
[yum@yaml@lexer@double_quoted_scalar:escape_lexer()]
end end).
-file("src/yum/yaml/lexer.gleam", 17).
?DOC(false).
-spec lex(binary()) -> {ok, list(nibble@lexer:token(yum@yaml@token:token()))} |
{error, yum@yaml@error:yaml_error()}.
lex(Input) ->
Initial_context = {flow_style, {block_style, 0}},
_pipe = Input,
_pipe@1 = nibble@lexer:run_advanced(_pipe, Initial_context, lexer()),
gleam@result:map_error(_pipe@1, fun yum@yaml@error:from_lex_error/1).