melston

melston

Programming Elixir > 1.6 (page 167)

After following the instructions pretty successfully up to this point I find I can’t do a mix docs with the configuration given. I’m not sure what to do to get Earmark to work in this case.

When I ran mix docs as shown on page 167 I got the following:

Generating docs...
** (FunctionClauseError) no function clause matching in EarmarkParser.Helpers.LookaheadHelpers.has_still_opening_backtix/2

    The following arguments were given to EarmarkParser.Helpers.LookaheadHelpers.has_still_opening_backtix/2:

        # 1
        [verbatim: "Handle the command line parsing and the dispatch to"]

        # 2
        nil

    Attempted function clauses (showing 8 out of 8):

        defp has_still_opening_backtix(-[]-, -:force_outside-)
        defp has_still_opening_backtix(-[]-, +open+)
        defp has_still_opening_backtix(-[{:other, _} | rest]-, +nil+)
        defp has_still_opening_backtix(-[{:backtix, btx} | rest]-, +nil+)
        defp has_still_opening_backtix(-[{:escape, _} | rest]-, +nil+)
        defp has_still_opening_backtix(+[_ | rest]+, -:force_outside-)
        defp has_still_opening_backtix(-[{:backtix, btx} | rest]-, -open = {_, openedbtx}-)
        defp has_still_opening_backtix(+[_ | rest]+, -open = {_, _}-)

    (earmark_parser 1.4.12) lib/earmark_parser/helpers/lookahead_helpers.ex:45: EarmarkParser.Helpers.LookaheadHelpers.has_still_opening_backtix/2
    (earmark_parser 1.4.12) lib/earmark_parser/helpers/lookahead_helpers.ex:17: EarmarkParser.Helpers.LookaheadHelpers.opens_inline_code/1
    (earmark_parser 1.4.12) lib/earmark_parser/parser.ex:531: EarmarkParser.Parser._inline_or_text?/2
    (earmark_parser 1.4.12) lib/earmark_parser/parser.ex:359: EarmarkParser.Parser._consolidate_para/3
    (earmark_parser 1.4.12) lib/earmark_parser/parser.ex:165: EarmarkParser.Parser._parse/4
    (earmark_parser 1.4.12) lib/earmark_parser/parser.ex:66: EarmarkParser.Parser.lines_to_blocks/3
    (earmark_parser 1.4.12) lib/earmark_parser/parser.ex:60: EarmarkParser.Parser.parse_lines/3
    (earmark_parser 1.4.12) lib/earmark_parser/parser.ex:26: EarmarkParser.Parser.parse_markdown/2

I tried updating to the latest version of Earmark available but got the following when running mix docs:

...

== Compilation error in file lib/Issues/github_Issues.ex ==
** (Protocol.UndefinedError) protocol Enumerable not implemented for :info of type Atom
    (elixir 1.11.2) lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir 1.11.2) lib/enum.ex:141: Enumerable.reduce/3
    (elixir 1.11.2) lib/enum.ex:369: Enum.any?/2
    (logger 1.11.2) lib/logger.ex:1020: Logger.macro_log/4
    (logger 1.11.2) expanding macro: Logger.info/1
    lib/Issues/github_Issues.ex:11: Issues.GithubIssues.fetch/2

I can eliminate the last set of errors by commenting out the calls to Logger.debug and Logger.info.

First Post!

faust

faust

Hi, I know it’s a bit late to answer this, but I hope it might help someone else who faces the same situation.
I had the same problem, and the solution was to update the docs library.
I guess the ones in the book aren’t compatible with newer Elixir versions.

I ended up using:

{:ex_doc, "~> 0.29.1"},
{:earmark, "~> 1.4.33"},

Where Next?

Popular Pragmatic Bookshelf topics Top

jon
Some minor things in the paper edition that says “3 2020” on the title page verso, not mentioned in the book’s errata online: p. 186 But...
New
johnp
Running the examples in chapter 5 c under pytest 5.4.1 causes an AttributeError: ‘module’ object has no attribute ‘config’. In particula...
New
simonpeter
When I try the command to create a pair of migration files I get an error. user=> (create-migration "guestbook") Execution error (Ill...
New
jeremyhuiskamp
Title: Web Development with Clojure, Third Edition, vB17.0 (p9) The create table guestbook syntax suggested doesn’t seem to be accepted ...
New
swlaschin
The book has the same “Problem space/Solution space” diagram on page 18 as is on page 17. The correct Problem/Solution space diagrams ar...
New
mert
AWDWR 7, page 152, page 153: Hello everyone, I’m a little bit lost on the hotwire part. I didn’t fully understand it. On page 152 @rub...
New
tkhobbes
After some hassle, I was able to finally run bin/setup, now I have started the rails server but I get this error message right when I vis...
New
andreheijstek
After running /bin/setup, the first error was: The foreman' command exists in these Ruby versions: That was easy to fix: gem install fore...
New
dtonhofer
@parrt In the context of Chapter 4.3, the grammar Java.g4, meant to parse Java 6 compilation units, no longer passes ANTLR (currently 4....
New
redconfetti
Docker-Machine became part of the Docker Toolbox, which was deprecated in 2020, long after Docker Desktop supported Docker Engine nativel...
New

Other popular topics Top

AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
PragmaticBookshelf
Stop developing web apps with yesterday’s tools. Today, developers are increasingly adopting Clojure as a web-development platform. See f...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
AstonJ
Do the test and post your score :nerd_face: :keyboard: If possible, please add info such as the keyboard you’re using, the layout (Qw...
New
rustkas
Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New

Sub Categories: