reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint

Printable idea sheet

code_snippets

reqlan rq/language/syntax.rq:489

Katz 0.113

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.

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

Interactive page: code_snippets