aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/io_in
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/io_in')
-rw-r--r--src/sisudoc/io_in/read_source_files.d20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/sisudoc/io_in/read_source_files.d b/src/sisudoc/io_in/read_source_files.d
index 3cbaed0..c683d1e 100644
--- a/src/sisudoc/io_in/read_source_files.d
+++ b/src/sisudoc/io_in/read_source_files.d
@@ -253,7 +253,7 @@ template spineRawMarkupContent() {
) {
char[][] contents_insert;
int code_block_status = 0;
- enum codeBlock { off, curly, tic, }
+ enum codeBlock { off, curly, tic, quotemarks }
auto fn_pth_full = fn_src.match(rgx_files.src_pth_sst_or_ssm);
auto markup_src_file_path = fn_pth_full.captures[1];
foreach (line; markup_sourcefile_insert_content) {
@@ -265,11 +265,19 @@ template spineRawMarkupContent() {
} else if (line.matchFirst(rgx.block_curly_code_open)) {
code_block_status = codeBlock.curly;
contents_insert ~= line;
+ } else if (code_block_status == codeBlock.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ code_block_status = codeBlock.off;
+ }
+ contents_insert ~= line;
} else if (code_block_status == codeBlock.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
code_block_status = codeBlock.off;
}
contents_insert ~= line;
+ } else if (line.matchFirst(rgx.block_quotemarks_code_open)) {
+ code_block_status = codeBlock.quotemarks;
+ contents_insert ~= line;
} else if (line.matchFirst(rgx.block_tic_code_open)) {
code_block_status = codeBlock.tic;
contents_insert ~= line;
@@ -328,7 +336,7 @@ template spineRawMarkupContent() {
import std.algorithm;
char[][] contents;
int code_block_status = 0;
- enum codeBlock { off, curly, tic, }
+ enum codeBlock { off, curly, tic, quotemarks }
auto fn_pth_full = fn_src.match(rgx_files.src_pth_sst_or_ssm);
auto markup_src_file_path = fn_pth_full.captures[1];
char[][] contents_insert;
@@ -343,11 +351,19 @@ template spineRawMarkupContent() {
} else if (line.matchFirst(rgx.block_curly_code_open)) {
code_block_status = codeBlock.curly;
contents ~= line;
+ } else if (code_block_status == codeBlock.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ code_block_status = codeBlock.off;
+ }
+ contents ~= line;
} else if (code_block_status == codeBlock.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
code_block_status = codeBlock.off;
}
contents ~= line;
+ } else if (line.matchFirst(rgx.block_quotemarks_code_open)) {
+ code_block_status = codeBlock.quotemarks;
+ contents ~= line;
} else if (line.matchFirst(rgx.block_tic_code_open)) {
code_block_status = codeBlock.tic;
contents ~= line;