Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/src/core/handlers/include.ts
3583 views
1
/*
2
* include.ts
3
*
4
* Copyright (C) 2022 Posit Software, PBC
5
*/
6
7
import { LanguageCellHandlerContext, LanguageHandler } from "./types.ts";
8
import { baseHandler, install } from "./base.ts";
9
import { MappedString } from "../lib/mapped-text.ts";
10
11
import { DirectiveCell } from "../lib/break-quarto-md-types.ts";
12
import { standaloneInclude } from "./include-standalone.ts";
13
14
const includeHandler: LanguageHandler = {
15
...baseHandler,
16
17
languageName: "include",
18
19
type: "directive",
20
stage: "pre-engine",
21
22
async directive(
23
handlerContext: LanguageCellHandlerContext,
24
directive: DirectiveCell,
25
): Promise<MappedString> {
26
const param = directive.shortcode.params[0];
27
if (!param) {
28
throw new Error("Include directive needs filename as a parameter");
29
}
30
return await standaloneInclude(handlerContext, param);
31
},
32
};
33
34
install(includeHandler);
35
36