Home / Function/ ensureProperEditForFrontmatter() — astro Function Reference

ensureProperEditForFrontmatter() — astro Function Reference

Architecture documentation for the ensureProperEditForFrontmatter() function in utils.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  097cfab7_aaea_d6ab_1435_9208279c4a99["ensureProperEditForFrontmatter()"]
  839dada7_8bd4_2ee4_9498_f38d21d2f7e9["utils.ts"]
  097cfab7_aaea_d6ab_1435_9208279c4a99 -->|defined in| 839dada7_8bd4_2ee4_9498_f38d21d2f7e9
  9c251667_066d_2ee9_fd8e_adc7dd7dd419["getOpenFrontmatterEdit()"]
  097cfab7_aaea_d6ab_1435_9208279c4a99 -->|calls| 9c251667_066d_2ee9_fd8e_adc7dd7dd419
  f4d5d378_8ebd_87fe_28ad_afb2016fd0e9["ensureRangeIsInFrontmatter()"]
  097cfab7_aaea_d6ab_1435_9208279c4a99 -->|calls| f4d5d378_8ebd_87fe_28ad_afb2016fd0e9
  afa1f6b3_cc89_97c1_ee85_f060a3b17fee["getNewFrontmatterEdit()"]
  097cfab7_aaea_d6ab_1435_9208279c4a99 -->|calls| afa1f6b3_cc89_97c1_ee85_f060a3b17fee
  style 097cfab7_aaea_d6ab_1435_9208279c4a99 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/language-tools/language-server/src/plugins/utils.ts lines 55–77

export function ensureProperEditForFrontmatter(
	edit: TextEdit,
	metadata: AstroMetadata,
	newLine: string,
	position: FrontmatterEditPosition = 'top',
): TextEdit {
	switch (metadata.frontmatter.status) {
		case 'open':
			return getOpenFrontmatterEdit(edit, metadata, newLine);
		case 'closed':
			const newRange = ensureRangeIsInFrontmatter(edit.range, metadata, position);
			return {
				newText:
					newRange.start.line === metadata.frontmatter.position.start.line &&
					edit.newText.startsWith(newLine)
						? edit.newText.trimStart()
						: edit.newText,
				range: newRange,
			};
		case 'doesnt-exist':
			return getNewFrontmatterEdit(edit, metadata, newLine);
	}
}

Domain

Subdomains

Frequently Asked Questions

What does ensureProperEditForFrontmatter() do?
ensureProperEditForFrontmatter() is a function in the astro codebase, defined in packages/language-tools/language-server/src/plugins/utils.ts.
Where is ensureProperEditForFrontmatter() defined?
ensureProperEditForFrontmatter() is defined in packages/language-tools/language-server/src/plugins/utils.ts at line 55.
What does ensureProperEditForFrontmatter() call?
ensureProperEditForFrontmatter() calls 3 function(s): ensureRangeIsInFrontmatter, getNewFrontmatterEdit, getOpenFrontmatterEdit.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free