Idea detail
code_snippets
reqlan rq/language/syntax.rq:489
Summary
Idea bodies and block attribute values may embed fenced code blocks delimited by triple backticks.
An opening fence is three backticks as the first non-whitespace characters on a line, optionally followed by a language tag such as python or rq.
A closing fence is three backticks as the first non-whitespace characters on a line.
Three backticks in the middle of a line are prose. They do not open a fence.
Everything between the fences is literal opaque text — it is not parsed as reqlan syntax.
Keywords, imports, attributes, braces, and quotes inside a fence are inert for the parser and may be shown as examples without parse errors.
Fenced blocks may span multiple lines and preserve their inner content verbatim.
Brace-depth tracking must skip fence interiors so example braces cannot desync surrounding structure ( no_name_idea_safe_warning ).
Related: comment_span_align.
Navigation
Attributes
| Key | Value |
|---|---|
| example | ```python print("hello") ``` |
| implementation | reqlan.langium, reqlan-token-builder.ts, reqlan-line-fences.ts, patch-textmate.mjs, lexer.rs |
| tests | parsing.test.ts:parse code snippet in block idea, parsing.test.ts:parse fenced code block in attribute value, parsing.test.ts:treats fenced rq example as opaque text, parsing.test.ts:treats fenced TypeScript braces as opaque for surrounding structure, parsing.test.ts:keeps later ideas after mid-line triple backticks, parsing.test.ts:parse rust_port.rq keeps ideas after comment_span_align fence prose, parsing.test.ts:parse mid-line triple backticks corpus without swallowing later ideas, references.test.ts:embedded file reference scan ignores fenced code blocks, references.test.ts:findCommentSpansInText does not treat mid-line ``` as a fence, langium-rust-parse-align.test.ts:fenced_file_example, langium-rust-parse-align.test.ts:mid_line_triple_backticks, comment-span-align.test.ts:mid-line triple backticks are not a fence, comment-span-align.test.ts:line-start triple backticks lex as CODE_FENCE and hide inner comments, align.rs:fence_body_is_one_code_snippet_not_inner_refs, align.rs:mid_line_triple_backticks_are_not_a_code_snippet, lexer.rs:mid_line_triple_backticks_are_not_a_code_fence, lexer.rs:line_start_triple_backticks_are_a_code_fence, parser.rs:keeps_ideas_after_mid_line_triple_backticks, broken_references.rs:check_skips_file_refs_inside_inline_code_and_fences, golden_corpus.rs:opaque_file_examples_do_not_extract_inline_or_fenced_paths, golden_corpus.rs:mid_line_triple_backticks_keep_later_ideas |
Ancestor context
No ancestor chain recorded.
Outbound references
Inbound references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | comment_span_align | reqlan rq/core_analysis/rust_port.rq | code_snippets |
| references | file_reference_errors | reqlan rq/extension/language/support/language-server-errors.rq | code_snippets |
| references | lexer_bridge_to_syntax | reqlan rq/language/parser_lexer.rq | code_snippets |
| references | inline_code | reqlan rq/language/syntax.rq | code_snippets |
| references | no_name_idea_safe_warning | reqlan rq/language/syntax.rq | code_snippets |
Unresolved references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| None | |||
Local graph
Initialising graph…