Skip to content

Commit

Permalink
Namespace .xrl and .yrl files (#474)
Browse files Browse the repository at this point in the history
  • Loading branch information
josevalim committed Sep 30, 2023
1 parent af5c761 commit 43c08e3
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 12 deletions.
7 changes: 3 additions & 4 deletions lib/earmark_parser/helpers/lookahead_helpers.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
defmodule Earmark.Parser.Helpers.LookaheadHelpers do

@moduledoc false

import Earmark.Parser.Helpers.LeexHelpers
Expand All @@ -13,8 +12,7 @@ defmodule Earmark.Parser.Helpers.LookaheadHelpers do
Otherwise `{nil, 0}` is returned
"""
def opens_inline_code(%{line: line, lnb: lnb}) do
# case tokenize(line, with: :string_lexer) |> IO.inspect() |> has_still_opening_backtix(nil) do
case tokenize(line, with: :string_lexer) |> has_still_opening_backtix(nil) do
case tokenize(line, with: :earmark_string_lexer) |> has_still_opening_backtix(nil) do
nil -> {nil, 0}
{_, btx} -> {btx, lnb}
end
Expand All @@ -29,7 +27,8 @@ defmodule Earmark.Parser.Helpers.LookaheadHelpers do
"""
# (#{},{_,_}) -> {_,_}
def still_inline_code(%{line: line, lnb: lnb}, old = {pending, _pending_lnb}) do
case tokenize(line, with: :string_lexer) |> has_still_opening_backtix({:old, pending}) do
case tokenize(line, with: :earmark_string_lexer)
|> has_still_opening_backtix({:old, pending}) do
nil -> {nil, 0}
{:new, btx} -> {btx, lnb}
{:old, _} -> old
Expand Down
27 changes: 19 additions & 8 deletions lib/earmark_parser/parser/link_parser.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
defmodule Earmark.Parser.Parser.LinkParser do

@moduledoc false
import Earmark.Parser.Helpers.LeexHelpers, only: [tokenize: 2]
import Earmark.Parser.Helpers.YeccHelpers, only: [parse!: 2]
Expand Down Expand Up @@ -28,12 +27,16 @@ defmodule Earmark.Parser.Parser.LinkParser do

@doc false
def parse_link(src, lnb) do
case parse!(src, lexer: :link_text_lexer, parser: :link_text_parser) do
{link_or_img, link_text, parsed_text} ->
beheaded = behead(src, to_string(parsed_text))
tokens = tokenize(beheaded, with: :link_text_lexer)
p_url(tokens, lnb) |> make_result(to_string(link_text), to_string(parsed_text), link_or_img)
_ -> nil
case parse!(src, lexer: :earmark_link_text_lexer, parser: :earmark_link_text_parser) do
{link_or_img, link_text, parsed_text} ->
beheaded = behead(src, to_string(parsed_text))
tokens = tokenize(beheaded, with: :earmark_link_text_lexer)

p_url(tokens, lnb)
|> make_result(to_string(link_text), to_string(parsed_text), link_or_img)

_ ->
nil
end
end

Expand Down Expand Up @@ -61,14 +64,19 @@ defmodule Earmark.Parser.Parser.LinkParser do
# All these are just added to the url
defp url([{:open_bracket, text} | ts], result, needed, lnb),
do: url(ts, add(result, text), needed, lnb)

defp url([{:close_bracket, text} | ts], result, needed, lnb),
do: url(ts, add(result, text), needed, lnb)

defp url([{:any_quote, text} | ts], result, needed, lnb),
do: url(ts, add(result, text), needed, lnb)

defp url([{:verbatim, text} | ts], result, needed, lnb),
do: url(ts, add(result, text), needed, lnb)

defp url([{:ws, text} | ts], result, needed, lnb),
do: url(ts, add(result, text), needed, lnb)

defp url([{:escaped, text} | ts], result, needed, lnb),
do: url(ts, add(result, text), needed, lnb)

Expand All @@ -78,7 +86,9 @@ defmodule Earmark.Parser.Parser.LinkParser do
defp bail_out_to_title(ts, result) do
with remaining_text <- ts |> Enum.map(&text_of_token/1) |> Enum.join("") do
case title(remaining_text) do
nil -> nil
nil ->
nil

{title_text, inner_title} ->
add_title(result, {title_text, inner_title})
end
Expand All @@ -87,6 +97,7 @@ defmodule Earmark.Parser.Parser.LinkParser do

defp text_of_token(token)
defp text_of_token({:escaped, text}), do: "\\#{text}"

defp text_of_token({_, text}) do
text
end
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 43c08e3

Please sign in to comment.