Skip to content

Commit

Permalink
mix docs: Use shell lexer for code blocks with "$ " and no language
Browse files Browse the repository at this point in the history
  • Loading branch information
wojtekmach committed Aug 2, 2021
1 parent 6a36725 commit b620c68
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions lib/ex_doc/doc_ast.ex
Original file line number Diff line number Diff line change
Expand Up @@ -108,17 +108,21 @@ defmodule ExDoc.DocAST do
end

defp highlight_code_block(full_block, lang, code, highlight_info, outer_opts) do
case pick_language_and_lexer(lang, highlight_info) do
case pick_language_and_lexer(lang, highlight_info, code) do
{_language, nil, _opts} -> full_block
{language, lexer, opts} -> render_code(language, lexer, opts, code, outer_opts)
end
end

defp pick_language_and_lexer("", highlight_info) do
defp pick_language_and_lexer("", _highlight_info, "$ " <> _) do
{"shell", ExDoc.ShellLexer, []}
end

defp pick_language_and_lexer("", highlight_info, _code) do
{highlight_info.language_name, highlight_info.lexer, highlight_info.opts}
end

defp pick_language_and_lexer(lang, _highlight_info) do
defp pick_language_and_lexer(lang, _highlight_info, _code) do
case Makeup.Registry.fetch_lexer_by_name(lang) do
{:ok, {lexer, opts}} -> {lang, lexer, opts}
:error -> {lang, nil, []}
Expand Down

0 comments on commit b620c68

Please sign in to comment.