Skip to content

Instantly share code, notes, and snippets.

@aparente
Created March 13, 2025 02:33
Show Gist options
  • Select an option

  • Save aparente/d2ccb445bb845601f4f78724e0f08640 to your computer and use it in GitHub Desktop.

Select an option

Save aparente/d2ccb445bb845601f4f78724e0f08640 to your computer and use it in GitHub Desktop.
llms.txt generated for Obsidian documentation using https://llmstxt.firecrawl.dev
This file has been truncated, but you can view the full file.
# https://docs.obsidian.md llms-full.txt
## Obsidian Developer Docs
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Home
```yaml is-loaded
cssclasses: hide-title
```
# Obsidian Developer Docs
Welcome to the official Obsidian Developer Documentation, where you can learn how to build plugins and themes for [Obsidian](https://obsidian.md/). For tips on how to use Obsidian, visit [the official Help site](https://help.obsidian.md/).
## Plugins
Build plugins to extend the existing functionality in Obsidian using TypeScript.
- [Build your first plugin](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin)
- [Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)
## Themes
Design beautiful themes and snippets for Obsidian using CSS.
- [Build your first theme](https://docs.obsidian.md/Themes/App+themes/Build+a+theme)
- [Submit your theme](https://docs.obsidian.md/Themes/App+themes/Submit+your+theme)
- [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)
## Join the developer community
If you get stuck, or if you're looking for feedback, [join the community](https://obsidian.md/community).
- `#plugin-dev` and `#theme-dev` channels on Discord.
- [Developers & API](https://forum.obsidian.md/c/developers-api/14) and [Share & showcase](https://forum.obsidian.md/c/share-showcase/9) on the forum.
## Contributing
If you see any errors or room for improvement on this site, or want to submit a PR, feel free to open an issue on [our GitHub repository](https://github.com/obsidianmd/obsidian-developer-docs).
Additional details are available on our [readme](https://github.com/obsidianmd/obsidian-developer-docs#readme).
Thank you in advance for contributing!
Links to this page
[Optimizing plugin load time](https://docs.obsidian.md/Plugins/Guides/Optimizing+plugin+load+time)
Home
Not found
This page does not exist
Interactive graph
On this page
Obsidian Developer Docs
Plugins
Themes
Join the developer community
Contributing
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Vault Management
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Vault
Each collection of notes in Obsidian is known as a Vault. A Vault consists of a folder, and any sub-folders within it.
While your plugin can access the file system like any other Node.js application, the [Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault) module aims to make it easier to work with files and folders within a Vault.
The following example recursively prints the paths of all Markdown files in a Vault:
```ts is-loaded
const files = this.app.vault.getMarkdownFiles()
for (let i = 0; i < files.length; i++) {
console.log(files[i].path);
}
```
Tip
If you want to list _all_ files, and not just Markdown documents, use [getFiles()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles) instead.
## Read files
There are two methods for reading the content of a file: [read()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read) and [cachedRead()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead).
- If you only want to display the content to the user, then use `cachedRead()` to avoid reading the file from disk multiple times.
- If you want to read the content, change it, and then write it back to disk, then use `read()` to avoid potentially overwriting the file with a stale copy.
Info
The only difference between `cachedRead()` and `read()` is when the file was modified outside of Obsidian just before the plugin reads it. As soon as the file system notifies Obsidian that the file has changed from the outside, `cachedRead()` behaves _exactly_ like `read()`. Similarly, if you save the file within Obsidian, the read cache is flushed as well.
The following example reads the content of all Markdown files in the Vault and returns the average document size:
```ts is-loaded
import { Notice, Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.addRibbonIcon('info', 'Calculate average file length', async () => {
const fileLength = await this.averageFileLength();
new Notice(`The average file length is ${fileLength} characters.`);
});
}
async averageFileLength(): Promise<number> {
const { vault } = this.app;
const fileContents: string[] = await Promise.all(
vault.getMarkdownFiles().map((file) => vault.cachedRead(file))
);
let totalLength = 0;
fileContents.forEach((content) => {
totalLength += content.length;
});
return totalLength / fileContents.length;
}
}
```
## Modify files
To write text content to an existing file, use [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify).
```ts is-loaded
function writeCurrentDate(vault: Vault, file: TFile): Promise<void> {
return vault.modify(file, `Today is ${new Intl.DateTimeFormat().format(new Date())}.`);
}
```
If you want to modify a file based on its current content, use [Vault.process()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) instead. The second argument is a callback that provides the current file content and returns the modified content.
```ts is-loaded
// emojify replaces all occurrences of :) with 🙂.
function emojify(vault: Vault, file: TFile): Promise<string> {
return vault.process(file, (data) => {
return data.replace(':)', '🙂');
})
}
```
`Vault.process()` is an abstraction on top of [Vault.read()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read) and [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify) that guarantees that the file doesn't change between reading the current content and writing the updated content. Always prefer `Vault.process()` over `Vault.read()`/ `Vault.modify()` to avoid unintentional loss of data.
### Asynchronous modifications
[Vault.process()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) only supports synchronous modifications. If you need to modify a file asynchronously:
1. Read the file using [Vault.cachedRead()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead).
2. Perform the async operations.
3. Update the file using [Vault.process()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process).
Remember to check that the `data` in the `process()` callback is the same as the data returned by `cachedRead()`. If they aren't the same, that means that the file was changed by a different process, and you may want to ask the user for confirmation, or try again.
## Delete files
There are two methods to delete a file, [delete()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete), and [trash()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash). Which one you should use depends on if you want to allow the user to change their mind.
- `delete()` removes the file without a trace.
- `trash()` moves the file to the trash bin.
When you use `trash()`, you have the option to move the file to the system's trash bin, or to a local `.trash` folder at the root of the user's Vault.
## Is it a file or folder?
Some operations return or accept a [TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile) object, which can be either a file or a folder. Always check the concrete type of a `TAbstractFile` before you use it.
```ts is-loaded
const folderOrFile = this.app.vault.getAbstractFileByPath('folderOrFile');
if (folderOrFile instanceof TFile) {
console.log('It\'s a file!');
} else if (folderOrFile instanceof TFolder) {
console.log('It\'s a folder!');
}
```
Vault
Not found
This page does not exist
Interactive graph
On this page
Read files
Modify files
Asynchronous modifications
Delete files
Is it a file or folder?
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Plugin Self-Critique Checklist
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Obsidian October O\_O 2024 plugin self-critique checklist
```yaml is-loaded
description: A checklist for plugin developers to self-critique their plugins.
permalink: oo24/plugin
```
## [Add this checklist to your Obsidian](obsidian://new?name=Obsidian%20October%202024%20plugin%20self-critique%20checklist&content=%23%23%20Releasing%20%26%20naming%0A%0A-%20%5B%20%5D%20Remove%20placeholder%20names%20such%20as%20%60MyPlugin%60%20and%20%60SampleSettingTab%60.%0A-%20%5B%20%5D%20Don%27t%20include%20the%20word%20%22Obsidian%22%20in%20your%20name%20unless%20it%20absolutely%20makes%20sense.%20Most%20of%20the%20time%20it%27s%20redundant.%0A-%20%5B%20%5D%20Don%27t%20include%20your%20plugin%20name%20in%20command%20names.%20Obsidian%20adds%20this%20for%20you.%0A-%20%5B%20%5D%20Don%27t%20prefix%20commands%20with%20your%20plugin%20ID.%20Obsidian%20adds%20this%20for%20you.%0A-%20%5B%20%5D%20Don%27t%20include%20%60main.js%60%20in%20your%20repo.%20Only%20include%20it%20in%20your%20releases.%0A-%20%5B%20%5D%20If%20you%20haven%27t%2C%20consider%20add%20a%20%60fundingUrl%60%20so%20that%20users%20of%20your%20plugin%20can%20show%20some%20support.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FReference%2FManifest%23fundingUrl%29.%0A%0A%23%23%20Compatibility%0A%0A-%20%5B%20%5D%20Don%27t%20provide%20default%20hotkeys%20for%20commands.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Avoid%2Bsetting%2Ba%2Bdefault%2Bhotkey%2Bfor%2Bcommands%29.%0A-%20%5B%20%5D%20Don%27t%20override%20core%20styling.%20If%20needed%2C%20add%20your%20own%20class%20and%20make%20the%20styling%20only%20apply%20to%20your%20class.%0A-%20%5B%20%5D%20Do%20scan%20your%20code%20for%20deprecated%20methods%20%28they%20usually%20show%20up%20as%20strikeout%20text%20in%20IDEs%29.%0A-%20%5B%20%5D%20Don%27t%20assign%20styles%20via%20JavaScript%20or%20in%20HTML.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23No%2Bhardcoded%2Bstyling%29.%0A-%20%5B%20%5D%20Don%27t%20access%20the%20hardcoded%20%60.obsidian%60%20folder%20if%20you%20need%20to%20access%20the%20configuration%20directory.%20The%20location%20could%20be%20customized%2C%20so%20please%20use%20%60Vault.configDir%60%20instead.%0A%0A%23%23%20Mobile%20support%0A%0APlease%20only%20complete%20this%20section%20if%20you%20have%20%60isDesktopOnly%60%20set%20to%20false%20in%20your%20manifest.%0A%0A-%20%5B%20%5D%20Don%27t%20use%20node.js%20modules%20such%20as%20%60fs%60%2C%20%60path%60%2C%20and%20%60electron%60.%0A-%20%5B%20%5D%20Don%27t%20use%20regex%20lookbehinds%20if%20you%20want%20to%20support%20iOS%20versions%20lower%20than%2016.4%20%28ignore%20this%20if%20you%20don%27t%20use%20regex%20in%20your%20plugin%29.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FGetting%2Bstarted%2FMobile%2Bdevelopment%23Lookbehind%2Bin%2Bregular%2Bexpressions%29.%0A-%20%5B%20%5D%20Don%27t%20use%20the%20%60FileSystemAdapter%60%20class.%0A-%20%5B%20%5D%20Don%27t%20use%20%60process.platform%60%2C%20use%20Obsidian%27s%20%60Platform%60%20instead.%20%5BLink%20to%20API%5D%28https%3A%2F%2Fdocs.obsidian.md%2FReference%2FTypeScript%2BAPI%2FPlatform%29.%0A-%20%5B%20%5D%20Don%27t%20use%20%60fetch%60%20or%20%60axios.get%60%2C%20use%20Obsidian%27s%20%60requestUrl%60%20instead.%20%5BLink%20to%20API%5D%28https%3A%2F%2Fdocs.obsidian.md%2FReference%2FTypeScript%2BAPI%2FrequestUrl%29.%0A%0A%23%23%20Coding%20style%0A%0A-%20%5B%20%5D%20Don%27t%20use%20%60var%60.%20Use%20%60let%60%20or%20%60const%60%20instead.%20%5BLearn%20more%5D%28https%3A%2F%2Fjavascript.plainenglish.io%2F4-reasons-why-var-is-considered-obsolete-in-modern-javascript-a30296b5f08f%29.%0A-%20%5B%20%5D%20Don%27t%20use%20the%20global%20%60app%60%20instance.%20Use%20%60this.app%60%20provided%20to%20your%20plugin%20instance%20instead.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Avoid%2520using%2520global%2520app%2520instance%29.%0A-%20%5B%20%5D%20Do%20break%20up%20your%20%60main.ts%60%20into%20smaller%20files%20or%20even%20folders%20if%20it%20gets%20big%20to%20make%20code%20easier%20to%20find.%0A-%20%5B%20%5D%20Do%20use%20%60async%60%20and%20%60await%60%20when%20you%20can%20for%20readability%2C%20instead%20of%20using%20%60Promise%60.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Prefer%2Basync%252Fawait%2Bover%2BPromise%29.%0A-%20%5B%20%5D%20Don%27t%20use%20global%20variables.%20Try%20to%20keep%20variables%20either%20in%20the%20scope%20of%20classes%20or%20functions.%20%5BLearn%20more%5D%28http%3A%2F%2Fwiki.c2.com%2F%3FGlobalVariablesAreBad%29.%0A-%20%5B%20%5D%20Do%20test%20with%20%60instanceof%60%20before%20casting%20into%20other%20types%20such%20as%20%60TFile%60%2C%20%60TFolder%60%2C%20or%20%60FileSystemAdapter%60%2C%20%0A-%20%5B%20%5D%20Don%27t%20use%20use%20%60as%20any%60%20and%20use%20proper%20typing%20instead.%0A%0A%0A%23%23%20API%20usage%0A%0A-%20%5B%20%5D%20Don%27t%20use%20%60Vault.modify%60.%20If%20you%20want%20to%20edit%20the%20active%20file%2C%20prefer%20using%20the%20%60Editor%60%20interface.%20If%20you%20want%20to%20edit%20it%20in%20the%20background%2C%20use%20%60Vault.process%60.%0A-%20%5B%20%5D%20Don%27t%20manually%20read%20and%20write%20frontmatter.%20Instead%2C%20use%20%60FileManager.processFrontMatter%60.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Prefer%2B%2560FileManager.processFrontMatter%2560%2Bto%2Bmodify%2Bfrontmatter%2Bof%2Ba%2Bnote%29.%0A-%20%5B%20%5D%20Don%27t%20use%20%60vault.delete%60%20to%20delete%20files.%20Use%20%60trashFile%60%20instead%20to%20make%20sure%20the%20file%20is%20deleted%20according%20to%20the%20users%20preferences.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FReference%2FTypeScript%2BAPI%2FFileManager%2FtrashFile%29.%0A-%20%5B%20%5D%20Don%27t%20use%20the%20%60Adapter%60%20API%20whenever%20possible.%20Use%20%60Vault%60%20API%20instead.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Prefer%2Bthe%2BVault%2BAPI%2Bover%2Bthe%2BAdapter%2BAPI%29.%0A-%20%5B%20%5D%20Don%27t%20manage%20reading%20and%20write%20plugin%20data%20yourself.%20Use%20%60Plugin.loadData%28%29%60%20and%20%60Plugin.saveData%28%29%60%20instead.%0A-%20%5B%20%5D%20Do%20use%20%60normalizePath%28%29%60%20if%20you%20take%20user%20defined%20paths.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FReference%2FTypeScript%2BAPI%2FnormalizePath%29.%0A%0A%0A%23%23%20Performance%0A%0A-%20%5B%20%5D%20Do%20optimize%20your%20plugin%27s%20load%20time.%20%5BDetailed%20guide%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FGuides%2FOptimizing%2Bplugin%2Bload%2Btime%29.%0A-%20%5B%20%5D%20Don%27t%20iterate%20all%20files%20to%20find%20a%20file%20or%20folder%20by%20its%20path.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Avoid%2Biterating%2Ball%2Bfiles%2Bto%2Bfind%2Ba%2Bfile%2Bby%2Bits%2Bpath%29.%0A-%20%5B%20%5D%20If%20you%20want%20your%20plugins%20to%20be%20compatible%20with%20Obsidian%201.7.2%2B%20%28currently%20in%20early%20access%29%2C%20update%20your%20plugin%20to%20work%20with%20%60DeferredViews%60.%20%5BDetailed%20guide%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FGuides%2FUnderstanding%2Bdeferred%2Bviews%29.%0A-%20%5B%20%5D%20If%20you%27re%20using%20%60moment%60%2C%20make%20sure%20you%27re%20doing%20%60import%20%7B%20moment%7D%20from%20%27obsidian%27%60%20so%20that%20you%20don%27t%20import%20another%20copy.%0A-%20%5B%20%5D%20Do%20minimize%20your%20%60main.js%60%20for%20releasing.%0A-%20%5B%20%5D%20Do%20your%20initial%20UI%20setup%20on%20%60workspace.onLayoutReady%28%29%60%20instead%20of%20in%20the%20constructor%20or%20%60onload%28%29%60%20function.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FGuides%2FOptimizing%2Bplugin%2Bload%2Btime%23If%2Byou%2Bhave%2Bcode%2Bthat%2Byou%2Bwant%2Bto%2Brun%2Bat%2Bstartup%252C%2Bwhere%2Bshould%2Bit%2Bgo%253F%29.%0A%0A%23%23%20User%20interface%0A%0A-%20%5B%20%5D%20Don%27t%20use%20setting%20headings%20unless%20you%20have%20more%20than%20one%20section.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Only%2Buse%2Bheadings%2Bunder%2Bsettings%2Bif%2Byou%2Bhave%2Bmore%2Bthan%2Bone%2Bsection%29.%0A-%20%5B%20%5D%20Don%27t%20include%20the%20word%20%22setting%22%20or%20%22option%22%20in%20setting%20headings.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Avoid%2B%2522settings%2522%2Bin%2Bsettings%2Bheadings%29.%0A-%20%5B%20%5D%20Do%20use%20sentence%20case%20in%20all%20text%20in%20UI%20elements%20to%20be%20consistent%20with%20rest%20of%20Obsidian%20UI.%20%5BLearn%20more%5D%28https%3A%2F%2Fen.wiktionary.org%2Fwiki%2Fsentence_case%29.%0A-%20%5B%20%5D%20Don%27t%20use%20%60%3Ch1%3E%60%20or%20%60%3Ch2%3E%60%20for%20setting%20header.%20Use%20Obsidian%20API%20instead.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FPlugins%2FReleasing%2FPlugin%2Bguidelines%23Use%2B%2560setHeading%2560%2Binstead%2Bof%2Ba%2B%2560%253Ch1%253E%2560%252C%2B%2560%253Ch2%253E%2560%29.%0A-%20%5B%20%5D%20Don%27t%20do%20%60console.log%60%20unless%20they%20are%20absolutely%20necessarily.%20Remove%20testing%20console%20logs%20that%20are%20not%20needed%20for%20production.)
## Releasing & naming
- [ ] Remove placeholder names such as `MyPlugin` and `SampleSettingTab`.
- [ ] Don't include the word "Obsidian" in your name unless it absolutely makes sense. Most of the time it's redundant.
- [ ] Don't include your plugin name in command names. Obsidian adds this for you.
- [ ] Don't prefix commands with your plugin ID. Obsidian adds this for you.
- [ ] Don't include `main.js` in your repo. Only include it in your releases.
- [ ] If you haven't, consider add a `fundingUrl` so that users of your plugin can show some support. [Learn more](https://docs.obsidian.md/Reference/Manifest#fundingUrl).
## Compatibility
- [ ] Don't provide default hotkeys for commands. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid+setting+a+default+hotkey+for+commands).
- [ ] Don't override core styling. If needed, add your own class and make the styling only apply to your class.
- [ ] Do scan your code for deprecated methods (they usually show up as strikeout text in IDEs).
- [ ] Don't assign styles via JavaScript or in HTML. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#No+hardcoded+styling).
- [ ] Don't access the hardcoded `.obsidian` folder if you need to access the configuration directory. The location could be customized, so please use `Vault.configDir` instead.
## Mobile support
Please only complete this section if you have `isDesktopOnly` set to false in your manifest.
- [ ] Don't use node.js modules such as `fs`, `path`, and `electron`.
- [ ] Don't use regex lookbehinds if you want to support iOS versions lower than 16.4 (ignore this if you don't use regex in your plugin). [Learn more](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development#Lookbehind+in+regular+expressions).
- [ ] Don't use the `FileSystemAdapter` class.
- [ ] Don't use `process.platform`, use Obsidian's `Platform` instead. [Link to API](https://docs.obsidian.md/Reference/TypeScript+API/Platform).
- [ ] Don't use `fetch` or `axios.get`, use Obsidian's `requestUrl` instead. [Link to API](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl).
## Coding style
- [ ] Don't use `var`. Use `let` or `const` instead. [Learn more](https://javascript.plainenglish.io/4-reasons-why-var-is-considered-obsolete-in-modern-javascript-a30296b5f08f).
- [ ] Don't use the global `app` instance. Use `this.app` provided to your plugin instance instead. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid%20using%20global%20app%20instance).
- [ ] Do break up your `main.ts` into smaller files or even folders if it gets big to make code easier to find.
- [ ] Do use `async` and `await` when you can for readability, instead of using `Promise`. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Prefer+async%2Fawait+over+Promise).
- [ ] Don't use global variables. Try to keep variables either in the scope of classes or functions. [Learn more](http://wiki.c2.com/?GlobalVariablesAreBad).
- [ ] Do test with `instanceof` before casting into other types such as `TFile`, `TFolder`, or `FileSystemAdapter`,
- [ ] Don't use use `as any` and use proper typing instead.
## API usage
- [ ] Don't use `Vault.modify`. If you want to edit the active file, prefer using the `Editor` interface. If you want to edit it in the background, use `Vault.process`.
- [ ] Don't manually read and write frontmatter. Instead, use `FileManager.processFrontMatter`. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Prefer+%60FileManager.processFrontMatter%60+to+modify+frontmatter+of+a+note).
- [ ] Don't use `vault.delete` to delete files. Use `trashFile` instead to make sure the file is deleted according to the users preferences. [Learn more](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile).
- [ ] Don't use the `Adapter` API whenever possible. Use `Vault` API instead. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Prefer+the+Vault+API+over+the+Adapter+API).
- [ ] Don't manage reading and write plugin data yourself. Use `Plugin.loadData()` and `Plugin.saveData()` instead.
- [ ] Do use `normalizePath()` if you take user defined paths. [Learn more](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath).
## Performance
- [ ] Do optimize your plugin's load time. [Detailed guide](https://docs.obsidian.md/Plugins/Guides/Optimizing+plugin+load+time).
- [ ] Don't iterate all files to find a file or folder by its path. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid+iterating+all+files+to+find+a+file+by+its+path).
- [ ] If you want your plugins to be compatible with Obsidian 1.7.2+ (currently in early access), update your plugin to work with `DeferredViews`. [Detailed guide](https://docs.obsidian.md/Plugins/Guides/Understanding+deferred+views).
- [ ] If you're using `moment`, make sure you're doing `import { moment} from 'obsidian'` so that you don't import another copy.
- [ ] Do minimize your `main.js` for releasing.
- [ ] Do your initial UI setup on `workspace.onLayoutReady()` instead of in the constructor or `onload()` function. [Learn more](https://docs.obsidian.md/Plugins/Guides/Optimizing+plugin+load+time#If+you+have+code+that+you+want+to+run+at+startup%2C+where+should+it+go%3F).
## User interface
- [ ] Don't use setting headings unless you have more than one section. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Only+use+headings+under+settings+if+you+have+more+than+one+section).
- [ ] Don't include the word "setting" or "option" in setting headings. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid+%22settings%22+in+settings+headings).
- [ ] Do use sentence case in all text in UI elements to be consistent with rest of Obsidian UI. [Learn more](https://en.wiktionary.org/wiki/sentence_case).
- [ ] Don't use `<h1>` or `<h2>` for setting header. Use Obsidian API instead. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Use+%60setHeading%60+instead+of+a+%60%3Ch1%3E%60%2C+%60%3Ch2%3E%60).
- [ ] Don't do `console.log` unless they are absolutely necessarily. Remove testing console logs that are not needed for production.
Obsidian October O\_O 2024 plugin self-critique checklist
Not found
This page does not exist
Interactive graph
On this page
Add this checklist to your Obsidian
Releasing & naming
Compatibility
Mobile support
Coding style
API usage
Performance
User interface
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Developer Policies
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Developer policies
Our goal for community plugins and themes is to make it easy for users to safely modify and expand the capabilities of Obsidian, while prioritizing private and offline usage of the app.
All community plugins and themes added to the Obsidian directory must respect the following policies. Every plugin and theme is individually vetted before being included in the directory. Plugins and themes that don't follow these policies will be removed from the directory.
These policies only apply to plugins listed in the official Obsidian directory. These policies do not apply to plugins installed outside of the Obsidian directory, but they are nonetheless good practices to follow.
## Policies
### Not allowed
Plugins and themes must not:
- Obfuscate code to hide its purpose.
- Insert dynamic ads that are loaded over the internet.
- Insert static ads outside a plugin’s own interface.
- Include client-side telemetry.
- Include a mechanism that updates the plugin.
- Themes may not load assets from the network. To bundle an asset, see [this guide](https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme).
### Disclosures
The following are only allowed if clearly indicated in your README:
- Payment is required for full access.
- An account is required for full access.
- Network use. Clearly explain which remote services are used and why they're needed.
- Accessing files outside of Obsidian vaults. Clearly explain why this is needed.
- Static ads such as banners and pop-up messages within the plugin's own interface.
- Server-side telemetry. Link to a privacy policy that explains how the data is handled must be included.
- Close sourced code. This will be handled on a case by case basis.
### Copyright and licensing
All community plugins and themes must follow these requirements:
- Include a [LICENSE file](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository) and clearly indicate the license of your plugin or theme.
- Comply with the original licenses of any code your plugin or theme makes use of, including attribution in the README if required.
- Respect Obsidian's trademark policy. Don't use the "Obsidian" trademark in a way that could confuse users into thinking your plugin or theme is a first-party creation.
## Reporting violations
If you encounter a plugin or theme that violates the policies above, please let the developer know by opening a GitHub issue in their repository. Kindly check existing issues to see if it’s already reported.
If the developer doesn’t respond after 7 days, [contact the Obsidian team](https://help.obsidian.md/Help+and+support#Report+a+security+issue). For serious violations, you can contact our team immediately.
## Removing plugins and themes
In case of a policy violation, we may attempt to contact the developer and provide a reasonable timeframe for them to resolve the problem.
If the problem isn't resolved by then, we'll remove plugins or themes from our directory.
We may immediately remove a plugin or theme if:
- The plugin or theme appears to be malicious.
- The developer is uncooperative.
- This is a repeated violation.
In addition, we may also remove plugins or themes that have become unmaintained or severely broken.
Links to this page
[Embed fonts and images in your theme](https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme)
[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)
[Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins)
[Theme guidelines](https://docs.obsidian.md/Themes/App+themes/Theme+guidelines)
Developer policies
Not found
This page does not exist
Interactive graph
On this page
Policies
Not allowed
Disclosures
Copyright and licensing
Reporting violations
Removing plugins and themes
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Vault Maintenance Checklist
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Obsidian October O\_O 2024 vault self-critique checklist
```yaml is-loaded
description: A checklist for vault maintenance and discovery.
permalink: oo24/vault
```
## [Add this checklist to your Obsidian](obsidian://new?name=Obsidian%20October%20O_O%202024%20vault%20self-critique%20checklist&content=%3E%20%5B%21INFO%5D%20Reminder%0A%3E%20Although%20we%20proposed%20some%20ways%20below%20to%20maintain%20and%20improvement%20your%20vault%2C%20likely%20the%20user%20of%20your%20vault%20is%20you%20and%20only%20you.%20This%20is%20different%20from%20plugins%20and%20themes%20where%20we%20can%20make%20relatively%20more%20objective%20suggestions.%0A%3E%20%0A%3E%20So%20feel%20free%20to%20remove%20anything%20from%20the%20checklist%20that%20doesn%27t%20make%20sense%20to%20you%20and%20add%20your%20own%20items.%0A%0A%23%23%20Vault%20maintenance%0A%0A-%20%5B%20%5D%20How%20well%20is%20your%20vault%20doing%20what%20it%27s%20supposed%20to%20do%3F%20%28What%20is%20the%20purpose%20of%20your%20vault%2Fnotes%3F%20What%20measures%20might%20you%20use%20to%20judge%20how%20well%20it%27s%20working%3F%29%20%5B%5E1%5D%0A-%20%5B%20%5D%20How%20quickly%20can%20you%20find%20notes%20you%20used%20one%20week%20ago%3F%0A-%20%5B%20%5D%20If%20your%20cat%20intentionally%20deleted%20all%20of%20your%20files%2C%20how%20recent%20is%20your%20backup%3F%0A-%20%5B%20%5D%20Do%20you%20need%20to%20document%20anything%20about%20your%20workflows%3F%20It%20can%20be%20surprisingly%20helpful%20to%20write%20out%20how%20you%20work%20and%20create%20checklists%20for%20important%20but%20uncommon%20tasks.%0A%0A%23%23%20Vault%20maintenance%20checklist%0A%0A-%20%5B%20%5D%20Delete%20unused%20attachments%0A-%20%5B%20%5D%20Delete%20or%20refactor%20notes%20that%20are%20not%20linked%20or%20tagged%20or%20in%20a%20folder%20%28%22orphan%22%20notes%29%0A-%20%5B%20%5D%20Delete%20unused%20tags%0A-%20%5B%20%5D%20Delete%20empty%20folders%0A-%20%5B%20%5D%20Process%20items%20in%20inbox%20notes%2Ffolders%2Ftags%0A-%20%5B%20%5D%20Make%20templates%20for%20frequently-used%20snippets%20or%20note%20types%0A-%20%5B%20%5D%20Remove%20unused%20plugins%0A-%20%5B%20%5D%20Remove%20unused%20themes%0A-%20%5B%20%5D%20Remove%20unused%20snippets%0A-%20%5B%20%5D%20Add%20properties%20missing%20from%20notes%0A-%20%5B%20%5D%20Convert%20tags%20to%20properties%20where%20appropriate%0A-%20%5B%20%5D%20Fix%20up%20broken%20links%0A-%20%5B%20%5D%20Browse%20through%20the%20plugin%20gallery%20for%20new%20ideas%0A%0A%23%23%20Vault%20rediscovery%20ideas%0A%0A-%20%5B%20%5D%20Open%20both%20Backlinks%20and%20Outgoing%20Links%20to%20see%20if%20there%20are%20any%20unlinked%20mentions%20that%20make%20sense%0A-%20%5B%20%5D%20Sort%20the%20files%20in%20Files%20Explorer%20by%20%22Modified%20time%20%28old%20to%20new%29%22%2C%20take%20a%20look%20at%20the%20top%20files%20and%20see%20how%20they%20can%20be%20made%20better.%0A-%20%5B%20%5D%20Enable%20the%20Random%20Note%20core%20plugin%20and%20randomly%20visit%20some%20notes%20for%20surprises.%0A%0A%0A%5B%5E1%5D%3A%20Remember%20that%20%22joy%22%20is%20a%20valid%20measure%21%20)
Reminder
Although we proposed some ways below to maintain and improvement your vault, likely the user of your vault is you and only you. This is different from plugins and themes where we can make relatively more objective suggestions.
So feel free to remove anything from the checklist that doesn't make sense to you and add your own items.
## Vault maintenance
- [ ] How well is your vault doing what it's supposed to do? (What is the purpose of your vault/notes? What measures might you use to judge how well it's working?) [\[1\]](https://docs.obsidian.md/oo24/vault#fn-1-5d89742f997e51bb)
- [ ] How quickly can you find notes you used one week ago?
- [ ] If your cat intentionally deleted all of your files, how recent is your backup?
- [ ] Do you need to document anything about your workflows? It can be surprisingly helpful to write out how you work and create checklists for important but uncommon tasks.
## Vault maintenance checklist
- [ ] Delete unused attachments
- [ ] Delete or refactor notes that are not linked or tagged or in a folder ("orphan" notes)
- [ ] Delete unused tags
- [ ] Delete empty folders
- [ ] Process items in inbox notes/folders/tags
- [ ] Make templates for frequently-used snippets or note types
- [ ] Remove unused plugins
- [ ] Remove unused themes
- [ ] Remove unused snippets
- [ ] Add properties missing from notes
- [ ] Convert tags to properties where appropriate
- [ ] Fix up broken links
- [ ] Browse through the plugin gallery for new ideas
## Vault rediscovery ideas
- [ ] Open both Backlinks and Outgoing Links to see if there are any unlinked mentions that make sense
- [ ] Sort the files in Files Explorer by "Modified time (old to new)", take a look at the top files and see how they can be made better.
- [ ] Enable the Random Note core plugin and randomly visit some notes for surprises.
* * *
1. Remember that "joy" is a valid measure! [↩︎](https://docs.obsidian.md/oo24/vault#fnref-1-5d89742f997e51bb)
Obsidian October O\_O 2024 vault self-critique checklist
Not found
This page does not exist
Interactive graph
On this page
Add this checklist to your Obsidian
Vault maintenance
Vault maintenance checklist
Vault rediscovery ideas
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Theme Developer Checklist
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Obsidian October O\_O 2024 theme self-critique checklist
```yaml is-loaded
description: A checklist for theme developers to self-critique their themes.
permalink: oo24/theme
```
## [Add this checklist to your Obsidian](obsidian://new?name=Obsidian%20October%20O_O%202024%20theme%20self-critique%20checklist&content=%23%23%20Compatibility%0A%0A-%20%5B%20%5D%20Do%20use%20CSS%20variables%20whenever%20you%20can.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FReference%2FCSS%2Bvariables%2FCSS%2Bvariables%29.%0A-%20%5B%20%5D%20Don%27t%20use%20%60%21important%60.%0A-%20%5B%20%5D%20Don%27t%20change%20vertical%20margins%20in%20classes%20used%20in%20live%20preview%20editor%2C%20use%20padding%20instead.%0A-%20%5B%20%5D%20If%20you%27re%20using%20recent%20experimental%20CSS%20features%2C%20mention%20the%20minimal%20installer%20version%20required%20in%20the%20README.%0A%0A%23%23%20Performance%0A%0A-%20%5B%20%5D%20Don%27t%20use%20%60%3Ahas%28%29%60%20unless%20absolutely%20necessary.%20It%20causes%20performance%20issues%20especially%20in%20Canvas.%0A-%20%5B%20%5D%20Don%27t%20link%20to%20assets%20such%20as%20fonts%20and%20images.%20Keep%20them%20local.%20%5BLearn%20more%5D%28https%3A%2F%2Fdocs.obsidian.md%2FThemes%2FApp%2Bthemes%2FTheme%2Bguidelines%23Keep%2Bassets%2Blocal%29.%0A%0A%0A%23%23%20Releasing%0A%0A-%20%5B%20%5D%20Don%27t%20include%20the%20word%20%22Obsidian%22%20in%20your%20name%20unless%20it%20absolutely%20makes%20sense.%20Most%20of%20the%20time%20it%27s%20redundant.%0A-%20%5B%20%5D%20Do%20check%20your%20screenshot%20files%20are%20up-to-date.%20These%20screenshots%20are%20shown%20as%20thumbnails%20in%20the%20theme%20directory.%0A-%20%5B%20%5D%20Do%20check%20your%20README%20to%20make%20sure%20it%27s%20up-to-date.%20This%20is%20the%20what%20all%20potential%20users%20see%20when%20they%20check%20out%20your%20theme%20in%20the%20theme%20directory.%0A-%20%5B%20%5D%20Do%20keep%20your%20screenshot%20small%20so%20it%20loads%20fast%20in%20the%20directory.%20We%20recommend%20the%20dimension%20of%20512%20x%20288%20pixels.%0A-%20%5B%20%5D%20Do%20make%20sure%20you%20have%20a%20license%20in%20place%20so%20others%20know%20how%20to%20use%20your%20theme%20and%20its%20source%20code.)
## Compatibility
- [ ] Do use CSS variables whenever you can. [Learn more](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables).
- [ ] Don't use `!important`.
- [ ] Don't change vertical margins in classes used in live preview editor, use padding instead.
- [ ] If you're using recent experimental CSS features, mention the minimal installer version required in the README.
## Performance
- [ ] Don't use `:has()` unless absolutely necessary. It causes performance issues especially in Canvas.
- [ ] Don't link to assets such as fonts and images. Keep them local. [Learn more](https://docs.obsidian.md/Themes/App+themes/Theme+guidelines#Keep+assets+local).
## Releasing
- [ ] Don't include the word "Obsidian" in your name unless it absolutely makes sense. Most of the time it's redundant.
- [ ] Do check your screenshot files are up-to-date. These screenshots are shown as thumbnails in the theme directory.
- [ ] Do check your README to make sure it's up-to-date. This is the what all potential users see when they check out your theme in the theme directory.
- [ ] Do keep your screenshot small so it loads fast in the directory. We recommend the dimension of 512 x 288 pixels.
- [ ] Do make sure you have a license in place so others know how to use your theme and its source code.
Obsidian October O\_O 2024 theme self-critique checklist
Not found
This page does not exist
Interactive graph
On this page
Add this checklist to your Obsidian
Compatibility
Performance
Releasing
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Events Guide
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Events
Many of the interfaces in the Obsidian lets you subscribe to events throughout the application, for example when the user makes changes to a file.
Any registered event handlers need to be detached whenever the plugin unloads. The safest way to make sure this happens is to use the [registerEvent()](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) method.
```ts is-loaded
import { Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.registerEvent(this.app.vault.on('create', () => {
console.log('a new file has entered the arena')
}));
}
}
```
## Timing events
If you want to repeatedly call a function with a fixed delay, use the [`window.setInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/setInterval) function with the [registerInterval()](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) method.
The following example displays the current time in the status bar, updated every second:
```ts is-loaded
import { moment, Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
statusBar: HTMLElement;
async onload() {
this.statusBar = this.addStatusBarItem();
this.updateStatusBar();
this.registerInterval(
window.setInterval(() => this.updateStatusBar(), 1000)
);
}
updateStatusBar() {
this.statusBar.setText(moment().format('H:mm:ss'));
}
}
```
Date and time
[Moment](https://momentjs.com/) is a popular JavaScript library for working with dates and time. Obsidian uses Moment internally, so you don't need to install it yourself. You can import it from the Obsidian API instead:
```ts is-loaded
import { moment } from 'obsidian';
```
Links to this page
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
Events
Not found
This page does not exist
Interactive graph
On this page
Timing events
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Plugin Versions
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Versions
```yaml is-loaded
cssclasses: reference
```
Every new version of Obsidian may introduce new capabilities for plugins. Unfortunately, using a recently introduced plugin capability in your plugin may break installations for users that haven't yet updated to the latest version of Obsidian. To avoid this, `versions.json` lets you control the plugin version based on the version of the user's Obsidian app.
`versions.json` contains a JSON object, where the key is the plugin version, and the value is the corresponding `minAppVersion`.
If a user attempts to install a plugin where the Obsidian app version is lower than the `minAppVersion` in [Manifest](https://docs.obsidian.md/Reference/Manifest), then Obsidian looks for a `versions.json` file at the root of the plugin repository.
In the following example, the user has Obsidian 1.1.0 installed, but the plugin `minAppVersion` is 1.2.0.
**manifest.json**:
```json is-loaded
{
// ...
"version": "1.0.0",
"minAppVersion": "1.2.0"
}
```
If the user runs version 1.1.0 of the Obsidian app, Obsidian then consults the `versions.json` to determine whether a fallback is available.
**versions.json**:
```json is-loaded
{
"0.1.0": "1.0.0",
"0.12.0": "1.1.0",
}
```
In this case, the most recent plugin version for 1.1.0 is 0.12.0.
Important
You don't need to list every plugin relese in the `versions.json`. You only need to update `versions.json` if you change the `minAppVersion` for your plugin.
Versions
Not found
This page does not exist
Interactive graph
On this page
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Manifest Schema
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Manifest
```yaml is-loaded
cssclasses: reference
```
This page describes the schema for the manifest, `manifest.json`.
## Properties
The following properties are available for both plugins and themes.
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `author` | `string` | **Yes** | The author's name. |
| `minAppVersion` | `string` | **Yes** | The minimum required Obsidian version. |
| `name` | `string` | **Yes** | The display name. |
| `version` | `string` | **Yes** | The version, using [Semantic Versioning](https://semver.org/). |
| `authorUrl` | `string` | No | A URL to the author's website. |
| `fundingUrl` | `string` or [`object`](https://docs.obsidian.md/Reference/Manifest#fundingurl) | No | A URL or multiple URLs to where the users can support your project financially. |
## Plugin-specific properties
The following properties are only available to plugins.
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | `string` | **Yes** | A description of your plugin. |
| `id` | `string` | **Yes** | The ID of your plugin. |
| `isDesktopOnly` | `boolean` | **Yes** | Whether your plugin uses NodeJS or Electron APIs. |
Note
For local development, the `id` should match the plugin's folder name; otherwise some methods, such as `onExternalSettingsChange`, won't be called.
## fundingUrl
`fundingUrl` can either be a string with a single URL, or an object with multiple URLs.
**Single URL**:
```json is-loaded
{
"fundingUrl": "https://buymeacoffee.com"
}
```
**Multiple URLs**:
```json is-loaded
{
"fundingUrl": {
"Buy Me a Coffee": "https://buymeacoffee.com",
"GitHub Sponsor": "https://github.com/sponsors",
"Patreon": "https://www.patreon.com/"
}
}
```
Links to this page
[Mobile development](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development)
[Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins)
[Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)
[Submit your theme](https://docs.obsidian.md/Themes/App+themes/Submit+your+theme)
[Versions](https://docs.obsidian.md/Reference/Versions)
Manifest
Not found
This page does not exist
Interactive graph
On this page
Properties
Plugin-specific properties
fundingUrl
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Editor Decorations Guide
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Decorations
Decorations let you control how to draw or style content in [editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions). If you intend to change the look and feel by adding, replacing, or styling elements in the editor, you most likely need to use decorations.
By the end of this page, you'll be able to:
- Understand how to use decorations to change the editor appearance.
- Understand the difference between providing decoration using state fields and view plugins.
Note
This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more detailed information on state fields, refer to [Decorating the Document](https://codemirror.net/docs/guide/#decorating-the-document).
## Prerequisites
- Basic understanding of [State fields](https://docs.obsidian.md/Plugins/Editor/State+fields).
- Basic understanding of [View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins).
## Overview
Without decorations, the document would render as plain text. Not very interesting at all. Using decorations, you can change how to display the document, for example by highlighting text or adding custom HTML elements.
You can use the following types of decorations:
- [Mark decorations](https://codemirror.net/docs/ref/#view.Decoration%5Emark) style existing elements.
- [Widget decorations](https://codemirror.net/docs/ref/#view.Decoration%5Ewidget) insert elements in the document.
- [Replace decorations](https://codemirror.net/docs/ref/#view.Decoration%5Ereplace) hide or replace part of the document with another element.
- [Line decorations](https://codemirror.net/docs/ref/#view.Decoration%5Eline) add styling to the lines, rather than the document itself.
To use decorations, you need to create them inside an editor extension and have the extension _provide_ them to the editor. You can provide decorations to the editor in two ways, either _directly_ using [state fields](https://docs.obsidian.md/Plugins/Editor/State+fields) or _indirectly_ using [view plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins).
## Should I use a view plugin or a state field?
Both view plugins and state fields can provide decorations to the editor, but they have some differences.
- Use a view plugin if you can determine the decoration based on what's inside the [Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport).
- Use a state field if you need to manage decorations outside of the viewport.
- Use a state field if you want to make changes that could change the content of the viewport, for example by adding line breaks.
If you can implement your extension using either approach, then the view plugin generally results in better performance. For example, imagine that you want to implement an editor extension that checks the spelling of a document.
One way would be to pass the entire document to an external spell checker which then returns a list of spelling errors. In this case, you'd need to map each error to a decoration and use a state field to manage decorations regardless of what's in the viewport at the moment.
Another way would be to only spellcheck what's visible in the viewport. The extension would need to continuously run a spell check as the user scrolls through the document, but you'd be able to spell check documents with millions of lines of text.
![State field vs. view plugin](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/decorations.svg)
## Providing decorations
Imagine that you want to build an editor extension that replaces the bullet list item with an emoji. You can accomplish this with either a view plugin or a state field, with some differences. In this section, you'll see how to implement it with both types of extensions.
Both implementations share the same core logic:
1. Use [syntaxTree](https://codemirror.net/docs/ref/#language.syntaxTree) to find list items.
2. For every list item, replace leading hyphens, `-`, with a _widget_.
### Widgets
Widgets are custom HTML elements that you can add to the editor. You can either insert a widget at a specific position in the document, or replace a piece of content with a widget.
The following example defines a widget that returns an HTML element, `<span>👉</span>`. You'll use this widget later on.
```ts is-loaded
import { EditorView, WidgetType } from '@codemirror/view';
export class EmojiWidget extends WidgetType {
toDOM(view: EditorView): HTMLElement {
const div = document.createElement('span');
div.innerText = '👉';
return div;
}
}
```
To replace a range of content in your document with the emoji widget, use the [replace decoration](https://codemirror.net/docs/ref/#view.Decoration%5Ereplace).
```ts is-loaded
const decoration = Decoration.replace({
widget: new EmojiWidget()
});
```
### State fields
To provide decorations from a state field:
1. [Define a state field](https://docs.obsidian.md/Plugins/Editor/State+fields#Defining%20a%20state%20field) with a `DecorationSet` type.
2. Add the `provide` property to the state field.
```ts is-loaded
provide(field: StateField<DecorationSet>): Extension {
return EditorView.decorations.from(field);
},
```
```ts is-loaded
import { syntaxTree } from '@codemirror/language';
import {
Extension,
RangeSetBuilder,
StateField,
Transaction,
} from '@codemirror/state';
import {
Decoration,
DecorationSet,
EditorView,
WidgetType,
} from '@codemirror/view';
import { EmojiWidget } from 'emoji';
export const emojiListField = StateField.define<DecorationSet>({
create(state): DecorationSet {
return Decoration.none;
},
update(oldState: DecorationSet, transaction: Transaction): DecorationSet {
const builder = new RangeSetBuilder<Decoration>();
syntaxTree(transaction.state).iterate({
enter(node) {
if (node.type.name.startsWith('list')) {
// Position of the '-' or the '*'.
const listCharFrom = node.from - 2;
builder.add(
listCharFrom,
listCharFrom + 1,
Decoration.replace({
widget: new EmojiWidget(),
})
);
}
},
});
return builder.finish();
},
provide(field: StateField<DecorationSet>): Extension {
return EditorView.decorations.from(field);
},
});
```
### View plugins
To manage your decorations using a view plugin:
1. [Create a view plugin](https://docs.obsidian.md/Plugins/Editor/View+plugins#Creating%20a%20view%20plugin).
2. Add a `DecorationSet` member property to your plugin.
3. Initialize the decorations in the `constructor()`.
4. Rebuild decorations in `update()`.
Not all updates are reasons to rebuild your decorations. The following example only rebuilds decorations whenever the underlying document or the viewport changes.
```ts is-loaded
import { syntaxTree } from '@codemirror/language';
import { RangeSetBuilder } from '@codemirror/state';
import {
Decoration,
DecorationSet,
EditorView,
PluginSpec,
PluginValue,
ViewPlugin,
ViewUpdate,
WidgetType,
} from '@codemirror/view';
import { EmojiWidget } from 'emoji';
class EmojiListPlugin implements PluginValue {
decorations: DecorationSet;
constructor(view: EditorView) {
this.decorations = this.buildDecorations(view);
}
update(update: ViewUpdate) {
if (update.docChanged || update.viewportChanged) {
this.decorations = this.buildDecorations(update.view);
}
}
destroy() {}
buildDecorations(view: EditorView): DecorationSet {
const builder = new RangeSetBuilder<Decoration>();
for (let { from, to } of view.visibleRanges) {
syntaxTree(view.state).iterate({
from,
to,
enter(node) {
if (node.type.name.startsWith('list')) {
// Position of the '-' or the '*'.
const listCharFrom = node.from - 2;
builder.add(
listCharFrom,
listCharFrom + 1,
Decoration.replace({
widget: new EmojiWidget(),
})
);
}
},
});
}
return builder.finish();
}
}
const pluginSpec: PluginSpec<EmojiListPlugin> = {
decorations: (value: EmojiListPlugin) => value.decorations,
};
export const emojiListPlugin = ViewPlugin.fromClass(
EmojiListPlugin,
pluginSpec
);
```
`buildDecorations()` is a helper method that builds a complete set of decorations based on the editor view.
Notice the second argument to the `ViewPlugin.fromClass()` function. The `decorations` property in the `PluginSpec` specifies how the view plugin provides the decorations to the editor.
Since the view plugin knows what's visible to the user, you can use `view.visibleRanges` to limit what parts of the syntax tree to visit.
Links to this page
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
Decorations
Not found
This page does not exist
Interactive graph
On this page
Prerequisites
Overview
Should I use a view plugin or a state field?
Providing decorations
Widgets
State fields
View plugins
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Editor Guide
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Editor
The [Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor) class exposes operations for reading and manipulating an active Markdown document in edit mode.
If you want to access the editor in a command, use the [editorCallback](https://docs.obsidian.md/Plugins/User+interface/Commands#Editor%20commands).
If you want to use the editor elsewhere, you can access it from the active view:
```ts is-loaded
const view = this.app.workspace.getActiveViewOfType(MarkdownView);
// Make sure the user is editing a Markdown file.
if (view) {
const cursor = view.editor.getCursor();
// ...
}
```
Note
Obsidian uses [CodeMirror](https://codemirror.net/) (CM) as the underlying text editor, and exposes the CodeMirror editor as part of the API. `Editor` serves as an abstraction to bridge features between CM6 and CM5 (legacy editor, only available on desktop). By using `Editor` instead of directly accessing the CodeMirror instance, you ensure that your plugin works on both platforms.
## Insert text at cursor position
The [replaceRange()](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange) method replaces the text between two cursor positions. If you only give it one position, it inserts the new text between that position and the next.
The following command inserts today's date at the cursor position:
```ts is-loaded
import { Editor, moment, Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.addCommand({
id: 'insert-todays-date',
name: 'Insert today\'s date',
editorCallback: (editor: Editor) => {
editor.replaceRange(
moment().format('YYYY-MM-DD'),
editor.getCursor()
);
},
});
}
}
```
![editor-todays-date.gif](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/editor-todays-date.gif)
## Replace current selection
If you want to modify the selected text, use [replaceSelection()](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceSelection) to replace the current selection with a new text.
The following command reads the current selection and converts it to uppercase:
```ts is-loaded
import { Editor, Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.addCommand({
id: 'convert-to-uppercase',
name: 'Convert to uppercase',
editorCallback: (editor: Editor) => {
const selection = editor.getSelection();
editor.replaceSelection(selection.toUpperCase());
},
});
}
}
```
![editor-uppercase.gif](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/editor-uppercase.gif)
Links to this page
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-change'))
[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-drop'))
[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-menu'))
[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-paste'))
[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)
Editor
Not found
This page does not exist
Interactive graph
On this page
Insert text at cursor position
Replace current selection
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Editor Viewport
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Viewport
The Obsidian editor supports [huge documents](https://codemirror.net/examples/million/) with millions of lines. One of the reasons why this is possible, is because the editor only renders what's visible (and a little bit more).
Imagine that you want to edit a document that is too big to fit on your monitor. The Obsidian editor creates a "window" that moves across the document, only rendering the content within the window (and ignoring what's outside). This window is known as the editor's _viewport_.
![Viewport](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/viewport.svg)
Whenever the user scrolls through the document, or when the document itself changes, the viewport becomes out-of-date and needs to be recomputed.
If you want to build an editor extension that depends on the viewport, refer to [View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins).
Note
This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more information on state management, refer to [Viewport](https://codemirror.net/docs/guide/#viewport).
Links to this page
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
Viewport
Not found
This page does not exist
Interactive graph
On this page
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Plugin Guidelines
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
Releasing
[Release your plugin with GitHub Actions](https://docs.obsidian.md/Plugins/Releasing/Release+your+plugin+with+GitHub+Actions)
[Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)
[Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins)
[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)
[Beta-testing plugins](https://docs.obsidian.md/Plugins/Releasing/Beta-testing+plugins)
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Plugin guidelines
This page lists common review comments plugin authors get when submitting their plugin.
While the guidelines on this page are recommendations, depending on their severity, we may still require you to address any violations.
Policies for plugin developers
Make sure that you've read our [Developer policies](https://docs.obsidian.md/Developer+policies) as well as the [Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins).
## General
### Avoid using global app instance
Avoid using the global app object, `app` (or `window.app`). Instead, use the reference provided by your plugin instance, `this.app`.
The global app object is intended for debugging purposes and might be removed in the future.
### Avoid unnecessary logging to console
Please avoid unnecessary logging.
In it's default configuration, the developer console should only show error messages, debug messages should not be shown.
### Consider organizing your code base using folders
If your plugin uses more than one `.ts` file, consider organizing them into folders to make it easier to review and maintain.
### Rename placeholder class names
The sample plugin contains placeholder names for common classes, such as `MyPlugin`, `MyPluginSettings`, and `SampleSettingTab`. Rename these to reflect the name of your plugin.
## Mobile
### Node and Electron APIs
The Node.js API, and the Electron API aren't available on mobile devices. Any calls to these libraries made by your plugin or it's dependencies can cause your plugin to crash.
### Lookbehind in regular expressions
Lookbehind in regular expressions is only supported on iOS 16.4 and above, and some iPhone and iPad users may still use earlier versions. To implement a fallback for iOS users, either refer to [Platform-specific features](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development#Platform-specific%20features), or use a JavaScript library to detect specific browser versions.
Refer to [Can I Use](https://caniuse.com/js-regexp-lookbehind) for more information and exact version statistics. Look for "Safari on iOS".
## UI text
This section lists guidelines for formatting text in the user interface, such as settings, commands, and buttons.
The example below from **Settings → Appearance** demonstrates the guidelines for text in the user interface.
![settings-headings.png](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/settings-headings.png)
1. [General settings are at the top and don't have a heading](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Only%20use%20headings%20under%20settings%20if%20you%20have%20more%20than%20one%20section.).
2. [Section headings don't have "settings" in the heading text](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid%20%22settings%22%20in%20settings%20headings).
3. [Use Sentence case in UI](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Use%20Sentence%20case%20in%20UI).
For more information on writing and formatting text for Obsidian, refer to our [Style guide](https://help.obsidian.md/Contributing+to+Obsidian/Style+guide).
### Only use headings under settings if you have more than one section.
Avoid adding a top-level heading in the settings tab, such as "General", "Settings", or the name of your plugin.
If you have more than one section under settings, and one contains general settings, keep them at the top without adding a heading.
For example, look at the settings under **Settings → Appearance**.
### Avoid "settings" in settings headings
In the settings tab, you can add headings to organize settings. Avoid including the word "settings" to these headings. Since everything in under the settings tab is settings, repeating it for every heading becomes redundant.
- Prefer "Advanced" over "Advanced settings".
- Prefer "Templates" over "Settings for templates".
### Use sentence case in UI
Any text in UI elements should be using [Sentence case](https://en.wiktionary.org/wiki/sentence_case) instead of [Title Case](https://en.wikipedia.org/wiki/Title_case), where only the first word in a sentence, and proper nouns, should be capitalized.
- Prefer "Template folder location" over "Template Folder Location".
- Prefer "Create new note" over "Create New Note".
### Use `setHeading` instead of a `<h1>`, `<h2>`
Using the heading elements from HTML will result in inconsistent styling between different plugins.
Instead you should prefer the following:
```ts is-loaded
new Setting(containerEl).setName('your heading title').setHeading();
```
## Security
### Avoid `innerHTML`, `outerHTML` and `insertAdjacentHTML`
Building DOM elements from user-defined input, using `innerHTML`, `outerHTML` and `insertAdjacentHTML` can pose a security risk.
The following example builds a DOM element using a string that contains user input, `${name}`. `name` can contain other DOM elements, such as `<script>alert()</script>`, and can allow a potential attacker to execute arbitrary code on the user's computer.
```ts is-loaded
function showName(name: string) {
let containerElement = document.querySelector('.my-container');
// DON'T DO THIS
containerElement.innerHTML = `<div class="my-class"><b>Your name is: </b>${name}</div>`;
}
```
Instead, use the DOM API or the Obsidian helper functions, such as `createEl()`, `createDiv()` and `createSpan()` to build the DOM element programmatically. For more information, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).
To cleanup a HTML elements contents use `el.empty();`
## Resource management
### Clean up resources when plugin unloads
Any resources created by the plugin, such as event listeners, must be destroyed or released when the plugin unloads.
When possible, use methods like [registerEvent()](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) or [addCommand()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand) to automatically clean up resources when the plugin unloads.
```ts is-loaded
export default class MyPlugin extends Plugin {
onload() {
this.registerEvent(this.app.vault.on('create', this.onCreate));
}
onCreate: (file: TAbstractFile) => {
// ...
}
}
```
Note
You don't need to clean up resources that are guaranteed to be removed when your plugin unloads. For example, if you register a `mouseenter` listener on a DOM element, the event listener will be garbage-collected when the element goes out of scope.
### Don't detach leaves in `onunload`
When the user updates your plugin, any open leaves will be reinitialized at their original position, regardless of where the user had moved them.
## Commands
### Avoid setting a default hotkey for commands
Setting a default hotkey may lead to conflicts between plugins and may override hotkeys that the user has already configured.
It's also difficult to choose a default hotkey that is available on all operating systems.
### Use the appropriate callback type for commands
When you add a command in your plugin, use the appropriate callback type.
- Use `callback` if the command runs unconditionally.
- Use `checkCallback` if the command only runs under certain conditions.
If the command requires an open and active Markdown editor, use `editorCallback`, or the corresponding `editorCheckCallback`.
## Workspace
### Avoid accessing `workspace.activeLeaf` directly
If you want to access the active view, use [getActiveViewOfType()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType) instead:
```ts is-loaded
const view = this.app.workspace.getActiveViewOfType(MarkdownView);
// getActiveViewOfType will return null if the active view is null, or if it's not a MarkdownView.
if (view) {
// ...
}
```
If you want to access the editor in the active note, use `activeEditor` instead:
```ts is-loaded
const editor = this.app.workspace.activeEditor?.editor;
if (editor) {
// ...
}
```
### Avoid managing references to custom views
Managing references to custom view can cause memory leaks or unintended consequences.
**Don't** do this:
```ts is-loaded
this.registerViewType(MY_VIEW_TYPE, () => this.view = new MyCustomView());
```
Do this instead:
```ts is-loaded
this.registerViewType(MY_VIEW_TYPE, () => new MyCustomView());
```
To access the view from your plugin, use `Workspace.getActiveLeavesOfType()`:
```ts is-loaded
for (let leaf of app.workspace.getActiveLeavesOfType(MY_VIEW_TYPE)) {
let view = leaf.view;
if (view instanceof MyCustomView) {
// ...
}
}
```
## Vault
### Prefer the Editor API instead of `Vault.modify` to the active file
If you want to edit an active note, use the [Editor](https://docs.obsidian.md/Plugins/Editor/Editor) interface instead of [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify).
Editor maintains information about the active note, such as cursor position, selection, and folded content. When you use [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify) to edit the note, all that information is lost, which leads to a poor experience for the user.
Editor is also more efficient when making small changes to parts of the note.
### Prefer `Vault.process` instead of `Vault.modify` to modify a file in the background
If you want to edit a note that is not currently opened, use the [Vault.process](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) function instead of [Vault.modify](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify).
The `process` function modifies the file atomically, which means that your plugin won't run into conflicts with other plugins modifying the same file.
### Prefer `FileManager.processFrontMatter` to modify frontmatter of a note
Instead of extracting the frontmatter of a note, parsing and modifying the YAML manually you should use the [FileManager.processFrontMatter](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter) function.
`processFrontMatter` runs atomically, so modifying the file will not conflict with other plugins editing the same file.
It will also ensure a consistent layout of the YAML produced.
### Prefer the Vault API over the Adapter API
Obsidian exposes two APIs for file operations: the Vault API ( `app.vault`) and the Adapter API ( `app.vault.adapter`).
While the file operations in the Adapter API are often more familiar to many developers, the Vault API has two main advantages over the adapter.
- **Performance:** The Vault API has a caching layer that can speed up file reads when the file is already known to Obsidian.
- **Safety:** The Vault API performs file operations serially to avoid any race conditions, for example when reading a file that is being written to at the same time.
### Avoid iterating all files to find a file by its path
This is inefficient, especially for large vaults. Use [Vault.getFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath), [Vault.getFolderByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath) or [Vault.getAbstractFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath) instead.
**Don't** do this:
```ts is-loaded
this.app.vault.getFiles().find(file => file.path === filePath);
```
Do this instead:
```ts is-loaded
const filePath = 'folder/file.md';
// if you want to get a file
const file = this.app.vault.getFileByPath(filePath);
```
```ts is-loaded
const folderPath = 'folder';
// or if you want to get a folder
const folder = this.app.vault.getFolderByPath(folderPath);
```
If you aren't sure if the path provided is for a folder or a file, use:
```ts is-loaded
const abstractFile = this.app.vault.getAbstractFileByPath(filePath);
if (file instanceof TFile) {
// it's a file
}
if (file instanceof TFolder) {
// it's a folder
}
```
### Use `normalizePath()` to clean up user-defined paths
Use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) whenever you accept user-defined paths to files or folders in the vault, or when you construct your own paths in the plugin code.
`normalizePath()` takes a path and scrubs it to be safe for the file system and for cross-platform use. This function:
- Cleans up the use of forward and backward slashes, such as replacing 1 or more of `\` or `/` with a single `/`.
- Removes leading and trailing forward and backward slashes.
- Replaces any non-breaking spaces, `\u00A0`, with a regular space.
- Runs the path through [String.prototype.normalize](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).
```ts is-loaded
import { normalizePath } from 'obsidian';
const pathToPlugin = normalizePath('//my-folder\file');
// pathToPlugin contains "my-folder/file" not "//my-folder\"
```
## Editor
### Change or reconfigure editor extensions
If you want to change or reconfigure an [editor extension](https://docs.obsidian.md/Plugins/Editor/Editor+extensions) after you've registered using [registerEditorExtension()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension), use [updateOptions()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions) to update all editors.
```ts is-loaded
class MyPlugin extends Plugin {
private editorExtension: Extension[] = [];
onload() {
//...
this.registerEditorExtension(this.editorExtension);
}
updateEditorExtension() {
// Empty the array while keeping the same reference
// (Don't create a new array here)
this.editorExtension.length = 0;
// Create new editor extension
let myNewExtension = this.createEditorExtension();
// Add it to the array
this.editorExtension.push(myNewExtension);
// Flush the changes to all editors
this.app.workspace.updateOptions();
}
}
```
## Styling
### No hardcoded styling
**Don't** do this:
```ts is-loaded
const el = containerEl.createDiv();
el.style.color = 'white';
el.style.backgroundColor = 'red';
```
To make it easy for users to modify the styling of your plugin you should use CSS classes, as hardcoding the styling in the plugin code makes it impossible to modify with themes and snippets.
**Do** this instead:
```ts is-loaded
const el = containerEl.createDiv({cls: 'warning-container'});
```
In the plugins CSS add the following:
```css is-loaded
.warning-container {
color: var(--text-normal);
background-color: var(--background-modifier-error);
}
```
To make the styling of your plugin consistent with Obsidian and other plugins you should use the [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) provided by Obsidian.
If there is no variable available that fits in your case, you can create your own.
## TypeScript
### Prefer `const` and `let` over `var`
For more information, refer to [4 Reasons Why var is Considered Obsolete in Modern JavaScript](https://javascript.plainenglish.io/4-reasons-why-var-is-considered-obsolete-in-modern-javascript-a30296b5f08f).
### Prefer async/await over Promise
Recent versions of JavaScript and TypeScript support the `async` and `await` keywords to run code asynchronously, which allow for more readable code than using Promises.
**Don't** do this:
```ts is-loaded
function test(): Promise<string | null> {
return requestUrl('https://example.com')
.then(res => res.text
.catch(e => {
console.log(e);
return null;
});
}
```
Do this instead:
```ts is-loaded
async function AsyncTest(): Promise<string | null> {
try {
let res = await requestUrl('https://example.com');
let text = await r.text;
return text;
}
catch (e) {
console.log(e);
return null;
}
}
```
Plugin guidelines
Not found
This page does not exist
Interactive graph
On this page
General
Avoid using global app instance
Avoid unnecessary logging to console
Consider organizing your code base using folders
Rename placeholder class names
Mobile
UI text
Only use headings under settings if you have more than one section.
Avoid "settings" in settings headings
Use sentence case in UI
Use setHeading instead of a <h1>, <h2>
Security
Avoid innerHTML, outerHTML and insertAdjacentHTML
Resource management
Clean up resources when plugin unloads
Don't detach leaves in onunload
Commands
Avoid setting a default hotkey for commands
Use the appropriate callback type for commands
Workspace
Avoid accessing workspace.activeLeaf directly
Avoid managing references to custom views
Vault
Prefer the Editor API instead of Vault.modify to the active file
Prefer Vault.process instead of Vault.modify to modify a file in the background
Prefer FileManager.processFrontMatter to modify frontmatter of a note
Prefer the Vault API over the Adapter API
Avoid iterating all files to find a file by its path
Use normalizePath() to clean up user-defined paths
Editor
Change or reconfigure editor extensions
Styling
No hardcoded styling
TypeScript
Prefer const and let over var
Prefer async/await over Promise
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Plugin Settings
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
[Right-to-left](https://docs.obsidian.md/Plugins/User+interface/Right-to-left)
[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)
[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Settings
If you want users to be able to configure parts of your plugin themselves, you can expose them as _settings_.
In this guide, you'll learn how to create a settings page like this 👇
![settings.png](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/settings.png)
The main reason to add settings to a plugin is to store configuration that persists even after the user quits Obsidian. The following example demonstrates how to save and load settings from disk:
```ts is-loaded
import { Plugin } from 'obsidian';
import { ExampleSettingTab } from './settings';
interface ExamplePluginSettings {
dateFormat: string;
}
const DEFAULT_SETTINGS: Partial<ExamplePluginSettings> = {
dateFormat: 'YYYY-MM-DD',
};
export default class ExamplePlugin extends Plugin {
settings: ExamplePluginSettings;
async onload() {
await this.loadSettings();
this.addSettingTab(new ExampleSettingTab(this.app, this));
}
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
}
```
Nested properties in settings
`Object.assign()` copies the references to any nested property (shallow copy). If your settings object contains nested properties, you need to copy each nested property recursively (deep copy). Otherwise, any changes to a nested property will apply to all objects that were copied using `Object.assign()`.
There's a lot going on here 🤯, so let's look closer at each part.
## Create a settings definition
First, you need to create a definition, `ExamplePluginSettings`, for what settings you want the user to be able to configure. While the plugin is enabled, you can access the settings from the `settings` member variable.
```ts is-loaded
interface ExamplePluginSettings {
dateFormat: string;
}
export default class ExamplePlugin extends Plugin {
settings: ExamplePluginSettings;
// ...
}
```
## Save and load the settings object
[loadData()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData) and [saveData()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData) provide an easy way to store and retrieve data from disk. The example also introduces two helper methods that makes it easier to use `loadData()` and `saveData()` from other parts of the plugin.
```ts is-loaded
export default class ExamplePlugin extends Plugin {
// ...
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
}
```
Finally, make sure to load the settings when the plugin loads:
```ts is-loaded
async onload() {
await this.loadSettings();
// ...
}
```
## Provide default values
When the user enables the plugin for the first time, none of the settings have been configured yet. The preceding example provides default values for any missing settings.
To understand how this work, let's look at the following code:
```ts is-loaded
Object.assign({}, DEFAULT_SETTINGS, await this.loadData())
```
`Object.assign()` is a JavaScript function that copies all properties from one object to another. Any properties that are returned by `loadData()` override the properties in `DEFAULT_SETTINGS`.
```ts is-loaded
const DEFAULT_SETTINGS: Partial<ExamplePluginSettings> = {
dateFormat: 'YYYY-MM-DD',
};
```
Tip
`Partial<Type>` is a TypeScript utility that returns a type with all properties of `Type` set to optional. It enables type checking while letting you only define the properties you want to provide defaults for.
## Register a settings tab
The plugin can now save and load plugin configuration, but the user doesn't yet have any way of changing any of the settings. By adding a settings tab you can provide an easy-to-use interface for the user to update their plugin settings:
```ts is-loaded
this.addSettingTab(new ExampleSettingTab(this.app, this));
```
Here, the `ExampleSettingTab` is a class that extends [PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab):
```ts is-loaded
import ExamplePlugin from './main';
import { App, PluginSettingTab, Setting } from 'obsidian';
export class ExampleSettingTab extends PluginSettingTab {
plugin: ExamplePlugin;
constructor(app: App, plugin: ExamplePlugin) {
super(app, plugin);
this.plugin = plugin;
}
display(): void {
let { containerEl } = this;
containerEl.empty();
new Setting(containerEl)
.setName('Date format')
.setDesc('Default date format')
.addText((text) =>
text
.setPlaceholder('MMMM dd, yyyy')
.setValue(this.plugin.settings.dateFormat)
.onChange(async (value) => {
this.plugin.settings.dateFormat = value;
await this.plugin.saveSettings();
})
);
}
}
```
`display()` is where you build the content for the settings tab. For more information, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).
`new Setting(containerEl)` appends a setting to the container element. This example uses a text field using `addText()`, but there are several other setting types available.
Update the settings object whenever the value of the text field changes, and then save it to disk:
```ts is-loaded
.onChange(async (value) => {
this.plugin.settings.dateFormat = value;
await this.plugin.saveSettings();
})
```
Nice work! 💪 Your users will thank you for giving them a way to customize how they interact with your plugin. Before heading to the next guide, experiment with what you've learned by adding another setting.
Links to this page
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
Settings
Not found
This page does not exist
Interactive graph
On this page
Create a settings definition
Save and load the settings object
Provide default values
Register a settings tab
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Commands Guide
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
[Right-to-left](https://docs.obsidian.md/Plugins/User+interface/Right-to-left)
[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)
[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Commands
Commands are actions that the user can perform from the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) or by using a hot key.
![command.png](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/command.png)
To register a new command for your plugin, call the [addCommand()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand) method inside the `onload()` method:
```ts is-loaded
import { Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.addCommand({
id: 'print-greeting-to-console',
name: 'Print greeting to console',
callback: () => {
console.log('Hey, you!');
},
});
}
}
```
## Conditional commands
If your command is only able to run under certain conditions, then consider using [checkCallback()](https://docs.obsidian.md/Reference/TypeScript+API/Command/checkCallback) instead.
The `checkCallback` runs twice. First, to perform a preliminary check to determine whether the command can run. Second, to perform the action.
Since time may pass between the two runs, you need to perform the check during both calls.
To determine whether the callback should perform a preliminary check or an action, a `checking` argument is passed to the callback.
- If `checking` is set to `true`, perform a preliminary check.
- If `checking` is set to `false`, perform an action.
The command in the following example depends on a required value. In both runs, the callback checks that the value is present but only performs the action if `checking` is `false`.
```ts is-loaded
this.addCommand({
id: 'example-command',
name: 'Example command',
// highlight-next-line
checkCallback: (checking: boolean) => {
const value = getRequiredValue();
if (value) {
if (!checking) {
doCommand(value);
}
return true
}
return false;
},
});
```
## Editor commands
If your command needs access to the editor, you can also use the [editorCallback()](https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCallback), which provides the active editor and its view as arguments.
```ts is-loaded
this.addCommand({
id: 'example-command',
name: 'Example command',
editorCallback: (editor: Editor, view: MarkdownView) => {
const sel = editor.getSelection()
console.log(`You have selected: ${sel}`);
},
}
```
Note
Editor commands only appear in the Command Palette when there's an active editor available.
If the editor callback can only run given under certain conditions, consider using the [editorCheckCallback()](https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCheckCallback) instead. For more information, refer to [Conditional commands](https://docs.obsidian.md/Plugins/User+interface/Commands#Conditional%20commands).
```ts is-loaded
this.addCommand({
id: 'example-command',
name: 'Example command',
editorCheckCallback: (checking: boolean, editor: Editor, view: MarkdownView) => {
const value = getRequiredValue();
if (value) {
if (!checking) {
doCommand(value);
}
return true
}
return false;
},
});
```
## Hot keys
The user can run commands using a keyboard shortcut, or _hot key_. While they can configure this themselves, you can also provide a default hot key.
Warning
Avoid setting default hot keys for plugins that you intend for others to use. Hot keys are highly likely to conflict with those defined by other plugins or by the user themselves.
In this example, the user can run the command by pressing and holding Ctrl (or Cmd on Mac) and Shift together, and then pressing the letter `a` on their keyboard.
```ts is-loaded
this.addCommand({
id: 'example-command',
name: 'Example command',
hotkeys: [{ modifiers: ['Mod', 'Shift'], key: 'a' }],
callback: () => {
console.log('Hey, you!');
},
});
```
Note
The Mod key is a special modifier key that becomes Ctrl on Windows and Linux, and Cmd on macOS.
Links to this page
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
Commands
Not found
This page does not exist
Interactive graph
On this page
Conditional commands
Editor commands
Hot keys
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Workspace API
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Workspace
```yaml is-loaded
aliases: "Workspace"
cssclasses: hide-title
```
[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
## Workspace class
**Signature:**
```typescript is-loaded
export class Workspace extends Events
```
**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`activeEditor`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeEditor) | | [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo) ` | null` | A component managing the current editor. This can be null if the active view has no editor. |
| [`activeLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeLeaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) ` | null` | Indicates the currently focused leaf, if one exists.<br>Please avoid using `activeLeaf` directly, especially without checking whether `activeLeaf` is null. |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/containerEl) | | `HTMLElement` | |
| [`layoutReady`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/layoutReady) | | `boolean` | If the layout of the app has been successfully initialized. To react to the layout becoming ready, use [Workspace.onLayoutReady()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady) |
| [`leftRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftRibbon) | | [`WorkspaceRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon) | |
| [`leftSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftSplit) | | [`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) ` | ` [`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) | |
| [`requestSaveLayout`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/requestSaveLayout) | | [`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer) `<[], ` `Promise` `<void>>` | Save the state of the current workspace layout. |
| [`rightRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightRibbon) | | [`WorkspaceRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon) | |
| [`rightSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightSplit) | | [`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) ` | ` [`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) | |
| [`rootSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rootSplit) | | [`WorkspaceRoot`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot) | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`changeLayout(workspace)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/changeLayout) | | |
| [`createLeafBySplit(leaf, direction, before)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit) | | |
| [`createLeafInParent(parent, index)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent) | | |
| [`detachLeavesOfType(viewType)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType) | | Remove all leaves of the given type. |
| [`duplicateLeaf(leaf, direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf) | | |
| [`duplicateLeaf(leaf, leafType, direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1) | | |
| [`ensureSideLeaf(type, side, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf) | | Get side leaf or create one if one does not exist. |
| [`getActiveFile()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile) | | Returns the file for the current view if it's a `FileView`. Otherwise, it will return the most recently active file. |
| [`getActiveViewOfType(type)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType) | | Get the currently active view of a given type. |
| [`getGroupLeaves(group)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves) | | Get all leaves that belong to a group |
| [`getLastOpenFiles()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLastOpenFiles) | | Get the filenames of the 10 most recently opened files. |
| [`getLayout()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLayout) | | |
| [`getLeaf(newLeaf, direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf('split')) | | Creates a new leaf in a leaf adjacent to the currently active leaf. If direction is `'vertical'`, the leaf will appear to the right. If direction is `'horizontal'`, the leaf will appear below the current leaf. |
| [`getLeaf(newLeaf)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1) | | If newLeaf is false (or not set) then an existing leaf which can be navigated is returned, or a new leaf will be created if there was no leaf available.<br>If newLeaf is `'tab'` or `true` then a new leaf will be created in the preferred location within the root split and returned.<br>If newLeaf is `'split'` then a new leaf will be created adjacent to the currently active leaf.<br>If newLeaf is `'window'` then a popout window will be created with a new leaf inside. |
| [`getLeafById(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeafById) | | Retrieve a leaf by its id. |
| [`getLeavesOfType(viewType)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeavesOfType) | | Get all leaves of a given type. |
| [`getLeftLeaf(split)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf) | | Create a new leaf inside the left sidebar. |
| [`getMostRecentLeaf(root)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf) | | Get the most recently active leaf in a given workspace root. Useful for interacting with the leaf in the root split while a sidebar leaf might be active. |
| [`getRightLeaf(split)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getRightLeaf) | | Create a new leaf inside the right sidebar. |
| [`getUnpinnedLeaf()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getUnpinnedLeaf) | | |
| [`iterateAllLeaves(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves) | | Iterate through all leaves, including main area leaves, floating leaves, and sidebar leaves. |
| [`iterateRootLeaves(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves) | | Iterate through all leaves in the main area of the workspace. |
| [`moveLeafToPopout(leaf, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout) | | Migrates this leaf to a new popout window. Only works on the desktop app. |
| [`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`on(name: 'quick-preview', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('quick-preview')) | | Triggered when the active Markdown file is modified. React to file changes before they are saved to disk. |
| [`on(name: 'files-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('files-menu')) | | Triggered when the user opens the context menu with multiple files selected in the File Explorer. |
| [`on(name: 'url-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('url-menu')) | | Triggered when the user opens the context menu on an external URL. |
| [`on(name: 'editor-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-menu')) | | Triggered when the user opens the context menu on an editor. |
| [`on(name: 'editor-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-change')) | | Triggered when changes to an editor has been applied, either programmatically or from a user event. |
| [`on(name: 'editor-paste', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-paste')) | | Triggered when the editor receives a paste event. Check for `evt.defaultPrevented` before attempting to handle this event, and return if it has been already handled. Use `evt.preventDefault()` to indicate that you've handled the event. |
| [`on(name: 'editor-drop', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-drop')) | | Triggered when the editor receives a drop event. Check for `evt.defaultPrevented` before attempting to handle this event, and return if it has been already handled. Use `evt.preventDefault()` to indicate that you've handled the event. |
| [`on(name: 'quit', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('quit')) | | Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here. |
| [`on(name: 'resize', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('resize')) | | Triggered when a `WorkspaceItem` is resized or the workspace layout has changed. |
| [`on(name: 'active-leaf-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('active-leaf-change')) | | Triggered when the active leaf changes. |
| [`on(name: 'file-open', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-open')) | | Triggered when the active file changes. The file could be in a new leaf, an existing leaf, or an embed. |
| [`on(name: 'layout-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('layout-change')) | | |
| [`on(name: 'window-open', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('window-open')) | | Triggered when a new popout window is created. |
| [`on(name: 'window-close', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('window-close')) | | Triggered when a popout window is closed. |
| [`on(name: 'css-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('css-change')) | | Triggered when the CSS of the app has changed. |
| [`on(name: 'file-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-menu')) | | Triggered when the user opens the context menu on a file. |
| [`onLayoutReady(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady) | | Runs the callback function right away if layout is already ready, or push it to a queue to be called later when layout is ready. |
| [`openLinkText(linktext, sourcePath, newLeaf, openViewState)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText) | | |
| [`openPopoutLeaf(data)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf) | | Open a new popout window with a single new leaf and return that leaf. Only works on the desktop app. |
| [`revealLeaf(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf) | | Bring a given leaf to the foreground. If the leaf is in a sidebar, the sidebar will be uncollapsed. `await` this function to ensure your view has been fully loaded and is not deferred. |
| [`setActiveLeaf(leaf, params)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf) | | Sets the active leaf |
| [`setActiveLeaf(leaf, pushHistory, focus)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1) | | |
| [`splitActiveLeaf(direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf) | | |
| [`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`updateOptions()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions) | | Calling this function will update/reconfigure the options of all Markdown views. It is fairly expensive, so it should not be called frequently. |
Links to this page
[activeEditor](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeEditor)
[activeLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeLeaf)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[changeLayout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/changeLayout)
[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/containerEl)
[createLeafBySplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)
[createLeafInParent](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent)
[detachLeavesOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType)
[duplicateLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)
[duplicateLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)
[ensureSideLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf)
[getActiveFile](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile)
[getActiveViewOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType)
[getGroupLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves)
[getLastOpenFiles](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLastOpenFiles)
[getLayout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLayout)
[getLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1)
[getLeaf('split')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf('split'))
[getLeafById](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeafById)
[getLeavesOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeavesOfType)
[getLeftLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf)
[getMostRecentLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf)
[getRightLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getRightLeaf)
[getUnpinnedLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getUnpinnedLeaf)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[iterateAllLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves)
[iterateRootLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves)
[layoutReady](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/layoutReady)
[leftRibbon](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftRibbon)
[leftSplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftSplit)
[moveLeafToPopout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)
[on('active-leaf-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('active-leaf-change'))
[on('css-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('css-change'))
[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-change'))
[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-drop'))
[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-menu'))
[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-paste'))
[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-menu'))
[on('file-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-open'))
[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('files-menu'))
[on('layout-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('layout-change'))
[on('quick-preview')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('quick-preview'))
[on('quit')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('quit'))
[on('resize')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('resize'))
[on('url-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('url-menu'))
[on('window-close')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('window-close'))
[on('window-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('window-open'))
[onLayoutReady](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady)
[openLinkText](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText)
[openPopoutLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)
[requestSaveLayout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/requestSaveLayout)
[revealLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf)
[rightRibbon](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightRibbon)
[rightSplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightSplit)
[rootSplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rootSplit)
[setActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf)
[setActiveLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1)
[splitActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)
[updateOptions](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Workspace
Not found
This page does not exist
Interactive graph
On this page
Workspace class
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## State Fields Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# State fields
A state field is an [editor extension](https://docs.obsidian.md/Plugins/Editor/Editor+extensions) that lets you manage custom editor state. This page walks you through building a state field by implementing a calculator extension.
The calculator should be able to add and subtract a number from the current state, and to reset the state when you want to start over.
By the end of this page, you'll understand the basic concepts of building a state field.
Note
This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more detailed information on state fields, refer to [State Fields](https://codemirror.net/docs/guide/#state-fields).
## Prerequisites
- Basic understanding of [State management](https://docs.obsidian.md/Plugins/Editor/State+management).
## Defining state effects
State effects describe the state change you'd like to make. You may think of them as methods on a class.
In the calculator example, you'd define a state effect for each of the calculator operations:
```ts is-loaded
const addEffect = StateEffect.define<number>();
const subtractEffect = StateEffect.define<number>();
const resetEffect = StateEffect.define();
```
The type between the angle brackets, `<>`, defines the input type for the effect. For example, the number you want to add or subtract. The reset effect doesn't need any input, so you can leave it out.
## Defining a state field
Contrary to what one might think, state fields don't actually _store_ state. They _manage_ it. State fields take the current state, applies any state effects, and returns the new state.
The state field contains the calculator logic to apply the mathematical operations depending on the effects in a transaction. Since a transaction can contain multiple effects, for example two additions, the state field needs to apply them all one after another.
```ts is-loaded
export const calculatorField = StateField.define<number>({
create(state: EditorState): number {
return 0;
},
update(oldState: number, transaction: Transaction): number {
let newState = oldState;
for (let effect of transaction.effects) {
if (effect.is(addEffect)) {
newState += effect.value;
} else if (effect.is(subtractEffect)) {
newState -= effect.value;
} else if (effect.is(resetEffect)) {
newState = 0;
}
}
return newState;
},
});
```
- `create` returns the value the calculator starts with.
- `update` contains the logic for applying the effects.
- `effect.is()` lets you check the type of the effect before you apply it.
## Dispatching state effects
To apply a state effect to a state field, you need to dispatch it to the editor view as part of a transaction.
```ts is-loaded
view.dispatch({
effects: [addEffect.of(num)],
});
```
You can even define a set of helper functions that provide a more familiar API:
```ts is-loaded
export function add(view: EditorView, num: number) {
view.dispatch({
effects: [addEffect.of(num)],
});
}
export function subtract(view: EditorView, num: number) {
view.dispatch({
effects: [subtractEffect.of(num)],
});
}
export function reset(view: EditorView) {
view.dispatch({
effects: [resetEffect.of(null)],
});
}
```
## Next steps
Provide [Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations) from your state fields to change how to display the document.
Links to this page
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
State fields
Not found
This page does not exist
Interactive graph
On this page
Prerequisites
Defining state effects
Defining a state field
Dispatching state effects
Next steps
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## TextFileView Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# TextFileView
```yaml is-loaded
aliases: "TextFileView"
cssclasses: hide-title
```
[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
## TextFileView class
This class implements a plaintext-based editable file view, which can be loaded and saved given an editor.
Note that by default, this view only saves when it's closing. To implement auto-save, your editor should call `this.requestSave()` when the content is changed.
**Signature:**
```typescript is-loaded
export abstract class TextFileView extends EditableFileView
```
**Extends:** [`EditableFileView`](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/(constructor)) | | Constructs a new instance of the `TextFileView` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`allowNoFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile) | | `boolean` | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl) | | `HTMLElement` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl) | | `HTMLElement` | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`data`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data) | | `string` | In memory data |
| [`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file) | | [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) ` | null` | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon) | | [`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation) | | `boolean` | File views can be navigated by default. <br>(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`requestSave`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave) | | `() => void` | Debounced save in 2 seconds from now |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) ` | null` | Assign an optional scope to your view to register hotkeys for when the view is in focus.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction) | | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`canAcceptExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/clear) | `abstract` | Clear the editor. This is usually called when we're about to open a completely different file, so it's best to clear any editor states like undo-redo history, and any caches/indexes associated with the previous file contents. |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getViewData()`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/getViewData) | `abstract` | Gets the data from the editor. This will be called to save the editor contents to the file. |
| [`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType) | `abstract` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile) | | |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu) | | Populates the pane menu.<br>(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onRename(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize) | | Called when the size of this view is changed.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onUnloadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onUnloadFile) | | |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`save(clear)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/save) | | |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`setViewData(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/setViewData) | `abstract` | Set the data to the editor. This is used to load the file contents.<br>If clear is set, then it means we're opening a completely different file. In that case, you should call clear(), or implement a slightly more efficient clearing mechanism given the new data to be set. |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/(constructor))
[clear](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/clear)
[data](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data)
[getViewData](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/getViewData)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[onLoadFile](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile)
[onUnloadFile](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onUnloadFile)
[requestSave](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave)
[save](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/save)
[setViewData](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/setViewData)
TextFileView
Not found
This page does not exist
Interactive graph
On this page
TextFileView class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## MarkdownView Class Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# MarkdownView
```yaml is-loaded
aliases: "MarkdownView"
cssclasses: hide-title
```
[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
## MarkdownView class
**Signature:**
```typescript is-loaded
export class MarkdownView extends TextFileView implements MarkdownFileInfo
```
**Extends:** [`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
**Implements:** [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/(constructor)) | | Constructs a new instance of the `MarkdownView` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`allowNoFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile) | | `boolean` | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl) | | `HTMLElement` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl) | | `HTMLElement` | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`currentMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/currentMode) | | [`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView) | |
| [`data`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data) | | `string` | In memory data<br>(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)) |
| [`editor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/editor) | | [`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) | |
| [`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file) | | [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) ` | null` | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/hoverPopover) | | [`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) ` | null` | |
| [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon) | | [`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation) | | `boolean` | File views can be navigated by default. <br>(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`previewMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/previewMode) | | [`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) | |
| [`requestSave`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave) | | `() => void` | Debounced save in 2 seconds from now<br>(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)) |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) ` | null` | Assign an optional scope to your view to register hotkeys for when the view is in focus.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction) | | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`canAcceptExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/clear) | | |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getMode()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode) | | |
| [`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getViewData()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewData) | | |
| [`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewType) | | |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile) | | (Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)) |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu) | | Populates the pane menu.<br>(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onRename(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize) | | Called when the size of this view is changed.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onUnloadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onUnloadFile) | | (Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`save(clear)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/save) | | (Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)) |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`setViewData(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/setViewData) | | |
| [`showSearch(replace)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/showSearch) | | |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/(constructor))
[clear](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/clear)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
[currentMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/currentMode)
[editor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/editor)
[getMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode)
[getViewData](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewData)
[getViewType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewType)
[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/hoverPopover)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-change'))
[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-drop'))
[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-menu'))
[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-paste'))
[previewMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/previewMode)
[setViewData](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/setViewData)
[showSearch](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/showSearch)
MarkdownView
Not found
This page does not exist
Interactive graph
On this page
MarkdownView class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Custom Views
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
[Right-to-left](https://docs.obsidian.md/Plugins/User+interface/Right-to-left)
[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)
[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Views
Views determine how Obsidian displays content. The file explorer, graph view, and the Markdown view are all examples of views, but you can also create your own custom views that display content in a way that makes sense for your plugin.
To create a custom view, create a class that extends the [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView) interface:
```ts is-loaded
import { ItemView, WorkspaceLeaf } from 'obsidian';
export const VIEW_TYPE_EXAMPLE = 'example-view';
export class ExampleView extends ItemView {
constructor(leaf: WorkspaceLeaf) {
super(leaf);
}
getViewType() {
return VIEW_TYPE_EXAMPLE;
}
getDisplayText() {
return 'Example view';
}
async onOpen() {
const container = this.containerEl.children[1];
container.empty();
container.createEl('h4', { text: 'Example view' });
}
async onClose() {
// Nothing to clean up.
}
}
```
Note
For more information on how to use the `createEl()` method, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).
Each view is uniquely identified by a text string and several operations require that you specify the view you'd like to use. Extracting it to a constant, `VIEW_TYPE_EXAMPLE`, is a good idea—as you will see later in this guide.
- `getViewType()` returns a unique identifier for the view.
- `getDisplayText()` returns a human-friendly name for the view.
- `onOpen()` is called when the view is opened within a new leaf and is responsible for building the content of your view.
- `onClose()` is called when the view should close and is responsible for cleaning up any resources used by the view.
Custom views need to be registered when the plugin is enabled, and cleaned up when the plugin is disabled:
```ts is-loaded
import { Plugin, WorkspaceLeaf } from 'obsidian';
import { ExampleView, VIEW_TYPE_EXAMPLE } from './view';
export default class ExamplePlugin extends Plugin {
async onload() {
this.registerView(
VIEW_TYPE_EXAMPLE,
(leaf) => new ExampleView(leaf)
);
this.addRibbonIcon('dice', 'Activate view', () => {
this.activateView();
});
}
async onunload() {
}
async activateView() {
const { workspace } = this.app;
let leaf: WorkspaceLeaf | null = null;
const leaves = workspace.getLeavesOfType(VIEW_TYPE_EXAMPLE);
if (leaves.length > 0) {
// A leaf with our view already exists, use that
leaf = leaves[0];
} else {
// Our view could not be found in the workspace, create a new leaf
// in the right sidebar for it
leaf = workspace.getRightLeaf(false);
await leaf.setViewState({ type: VIEW_TYPE_EXAMPLE, active: true });
}
// "Reveal" the leaf in case it is in a collapsed sidebar
workspace.revealLeaf(leaf);
}
}
```
The second argument to [registerView()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView) is a factory function that returns an instance of the view you want to register.
Warning
Never manage references to views in your plugin. Obsidian may call the view factory function multiple times. Avoid side effects in your view, and use `getLeavesOfType()` whenever you need to access your view instances.
```ts is-loaded
this.app.workspace.getLeavesOfType(VIEW_TYPE_EXAMPLE).forEach((leaf) => {
if (leaf.view instanceof ExampleView) {
// Access your view instance.
}
});
```
Links to this page
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Use React in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin)
[Use Svelte in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Views
Not found
This page does not exist
Interactive graph
On this page
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## WorkspaceLeaf Class Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# WorkspaceLeaf
```yaml is-loaded
aliases: "WorkspaceLeaf"
cssclasses: hide-title
```
[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
## WorkspaceLeaf class
**Signature:**
```typescript is-loaded
export class WorkspaceLeaf extends WorkspaceItem
```
**Extends:** [`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`isDeferred`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/isDeferred) | `readonly` | `boolean` | Returns true if this leaf is currently deferred because it is in the background. A deferred leaf will have a DeferredView as its view, instead of the View that it should normally have for its type (like MarkdownView for the `markdown` type). 1.7.2 |
| [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/parent) | | [`WorkspaceTabs`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs) ` | ` [`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) | The direct parent of the leaf.<br>On desktop, a leaf is always a child of a `WorkspaceTabs` component. On mobile, a leaf might be a child of a `WorkspaceMobileDrawer`. Perform an `instanceof` check before making an assumption about the `parent`. |
| [`view`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view) | | [`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) | The view associated with this leaf. Do not attempt to cast this to your custom `View` without first checking `instanceof`. |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`detach()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach) | | |
| [`getContainer()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer) | | Get the root container parent item, which can be one of: - [WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot) \- [WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)<br>(Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)) |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getDisplayText) | | |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getEphemeralState) | | |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getIcon) | | |
| [`getRoot()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot) | | (Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)) |
| [`getViewState()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState) | | |
| [`loadIfDeferred()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/loadIfDeferred) | | If this view is currently deferred, load it and await that it has fully loaded. 1.7.2 |
| [`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`on(name: 'pinned-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on('pinned-change')) | | |
| [`on(name: 'group-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on('group-change')) | | |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/onResize) | | |
| [`open(view)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open) | | |
| [`openFile(file, openState)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile) | | Open a file in this leaf. |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setEphemeralState) | | |
| [`setGroup(group)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup) | | |
| [`setGroupMember(other)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroupMember) | | |
| [`setPinned(pinned)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setPinned) | | |
| [`setViewState(viewState, eState)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setViewState) | | |
| [`togglePinned()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/togglePinned) | | |
| [`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/View/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/FileView/(constructor))
[createLeafBySplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)
[createLeafInParent](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent)
[detach](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach)
[duplicateLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)
[duplicateLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[ensureSideLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[getDisplayText](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getDisplayText)
[getEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getEphemeralState)
[getGroupLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getIcon)
[getLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1)
[getLeaf('split')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf('split'))
[getLeafById](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeafById)
[getLeavesOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeavesOfType)
[getLeftLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf)
[getMostRecentLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf)
[getRightLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getRightLeaf)
[getUnpinnedLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getUnpinnedLeaf)
[getViewState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[isDeferred](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/isDeferred)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateAllLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves)
[iterateRootLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves)
[loadIfDeferred](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/loadIfDeferred)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[moveLeafToPopout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)
[on('active-leaf-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('active-leaf-change'))
[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-menu'))
[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('files-menu'))
[on('group-change')](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on('group-change'))
[on('pinned-change')](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on('pinned-change'))
[onResize](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/onResize)
[open](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open)
[openFile](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile)
[openPopoutLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/parent)
[revealLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf)
[setActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf)
[setActiveLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1)
[setEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setEphemeralState)
[setGroup](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup)
[setGroupMember](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroupMember)
[setPinned](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setPinned)
[setViewState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setViewState)
[splitActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[togglePinned](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/togglePinned)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[view](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
WorkspaceLeaf
Not found
This page does not exist
Interactive graph
On this page
WorkspaceLeaf class
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian TypeScript View
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# View
```yaml is-loaded
aliases: "View"
cssclasses: hide-title
```
[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)
## View class
**Signature:**
```typescript is-loaded
export abstract class View extends Component
```
**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/View/(constructor)) | | Constructs a new instance of the `View` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl) | | `HTMLElement` | |
| [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon) | | [`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) | |
| [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) | |
| [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation) | | `boolean` | Whether or not the view is intended for navigation. If your view is a static view that is not intended to be navigated away, set this to false. (For example: File explorer, calendar, etc.) If your view opens a file or can be otherwise navigated, set this to true. (For example: Markdown editor view, Kanban view, PDF view, etc.) |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) ` | null` | Assign an optional scope to your view to register hotkeys for when the view is in focus. |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getDisplayText) | `abstract` | |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState) | | |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon) | | |
| [`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getState) | | |
| [`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType) | `abstract` | |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose) | `protected` | |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen) | `protected` | |
| [`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu) | | Populates the pane menu.<br>(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`) |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize) | | Called when the size of this view is changed. |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState) | | |
| [`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setState) | | |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/View/(constructor))
[app](https://docs.obsidian.md/Reference/TypeScript+API/View/app)
[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[getDisplayText](https://docs.obsidian.md/Reference/TypeScript+API/View/getDisplayText)
[getEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)
[getState](https://docs.obsidian.md/Reference/TypeScript+API/View/getState)
[getViewType](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType)
[icon](https://docs.obsidian.md/Reference/TypeScript+API/View/icon)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[leaf](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[navigation](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation)
[onClose](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose)
[onOpen](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen)
[onPaneMenu](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)
[onResize](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize)
[scope](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)
[setEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState)
[setState](https://docs.obsidian.md/Reference/TypeScript+API/View/setState)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
View
Not found
This page does not exist
Interactive graph
On this page
View class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Plugin Icons
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
[Right-to-left](https://docs.obsidian.md/Plugins/User+interface/Right-to-left)
[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)
[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Icons
Several of the UI components in the Obsidian API lets you configure an accompanying icon. You can choose from one of the built-in icons, or you can add your own.
## Browse available icons
Browse to [lucide.dev](https://lucide.dev/) to see all available icons and their corresponding names.
**Please note:** Only icons up to v0.446.0 are supported at this time.
## Use icons
If you'd like to use icons in your custom interfaces, use the [setIcon()](https://docs.obsidian.md/Reference/TypeScript+API/setIcon) utility function to add an icon to an [HTML element](https://docs.obsidian.md/Plugins/User+interface/HTML+elements). The following example adds icon to the status bar:
```ts is-loaded
import { Plugin, setIcon } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
const item = this.addStatusBarItem();
setIcon(item, 'info');
}
}
```
To change the size of the icon, set the `--icon-size` [CSS variable](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Icons) on the element containing the icon using preset sizes:
```css is-loaded
div {
--icon-size: var(--icon-size-m);
}
```
## Add your own icon
To add a custom icon for your plugin, use the [addIcon()](https://docs.obsidian.md/Reference/TypeScript+API/addIcon) utility:
```ts is-loaded
import { addIcon, Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
addIcon('circle', `<circle cx="50" cy="50" r="50" fill="currentColor" />`);
this.addRibbonIcon('circle', 'Click me', () => {
console.log('Hello, you!');
});
}
}
```
`addIcon` takes two arguments:
1. A name to uniquely identify your icon.
2. The SVG content for the icon, without the surrounding `<svg>` tag.
Note that your icon needs to fit within a `0 0 100 100` view box to be drawn properly.
After the call to `addIcon`, you can use the icon just like any of the built-in icons.
### Icon design guidelines
For compatibility and cohesiveness with the Obsidian interface, your icons should [follow Lucide’s guidelines](https://lucide.dev/guide/design/icon-design-guide):
- Icons must be designed on a 24 by 24 pixels canvas
- Icons must have at least 1 pixel padding within the canvas
- Icons must have a stroke width of 2 pixels
- Icons must use round joins
- Icons must use round caps
- Icons must use centered strokes
- Shapes (such as rectangles) in icons must have border radius of 2 pixels
- Distinct elements must have 2 pixels of spacing between each other
Lucide also [provides templates and guides](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md) for vector editors such as Illustrator, Figma, and Inkscape.
Links to this page
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
Icons
Not found
This page does not exist
Interactive graph
On this page
Browse available icons
Use icons
Add your own icon
Icon design guidelines
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian ItemView Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# ItemView
```yaml is-loaded
aliases: "ItemView"
cssclasses: hide-title
```
[`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
## ItemView class
**Signature:**
```typescript is-loaded
export abstract class ItemView extends View
```
**Extends:** [`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/(constructor)) | | Constructs a new instance of the `ItemView` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl) | | `HTMLElement` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl) | | `HTMLElement` | |
| [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon) | | [`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation) | | `boolean` | Whether or not the view is intended for navigation. If your view is a static view that is not intended to be navigated away, set this to false. (For example: File explorer, calendar, etc.) If your view opens a file or can be otherwise navigated, set this to true. (For example: Markdown editor view, Kanban view, PDF view, etc.)<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) ` | null` | Assign an optional scope to your view to register hotkeys for when the view is in focus.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction) | | |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getDisplayText) | `abstract` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType) | `abstract` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu) | | Populates the pane menu.<br>(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize) | | Called when the size of this view is changed.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/(constructor))
[addAction](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction)
[contentEl](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[Use Svelte in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
ItemView
Not found
This page does not exist
Interactive graph
On this page
ItemView class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## EditableFileView Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# EditableFileView
```yaml is-loaded
aliases: "EditableFileView"
cssclasses: hide-title
```
[`EditableFileView`](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
## EditableFileView class
**Signature:**
```typescript is-loaded
export abstract class EditableFileView extends FileView
```
**Extends:** [`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/(constructor)) | | Constructs a new instance of the `FileView` class<br>(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`allowNoFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile) | | `boolean` | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl) | | `HTMLElement` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl) | | `HTMLElement` | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file) | | [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) ` | null` | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon) | | [`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation) | | `boolean` | File views can be navigated by default. <br>(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) ` | null` | Assign an optional scope to your view to register hotkeys for when the view is in focus.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction) | | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`canAcceptExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType) | `abstract` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu) | | Populates the pane menu.<br>(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onRename(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize) | | Called when the size of this view is changed.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onUnloadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState) | | (Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)) |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
EditableFileView
Not found
This page does not exist
Interactive graph
On this page
EditableFileView class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## MarkdownRenderer Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# MarkdownRenderer
```yaml is-loaded
aliases: "MarkdownRenderer"
cssclasses: hide-title
```
[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
## MarkdownRenderer class
**Signature:**
```typescript is-loaded
export abstract class MarkdownRenderer extends MarkdownRenderChild implements MarkdownPreviewEvents, HoverParent
```
**Extends:** [`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
**Implements:** [`MarkdownPreviewEvents`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents), [`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/(constructor)) | | Constructs a new instance of the `MarkdownRenderChild` class<br>(Inherited from [MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)) |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/containerEl) | | `HTMLElement` | (Inherited from [MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)) |
| [`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/file) | `abstract`<br>`readonly` | [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) | |
| [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover) | | [`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`render(app, markdown, el, sourcePath, component)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render) | `static` | Renders Markdown string to an HTML element. |
| [`renderMarkdown(markdown, el, sourcePath, component)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown) | `static` | Renders Markdown string to an HTML element. |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[app](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app)
[file](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/file)
[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[render](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render)
[renderMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)
MarkdownRenderer
Not found
This page does not exist
Interactive graph
On this page
MarkdownRenderer class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian FileView Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# FileView
```yaml is-loaded
aliases: "FileView"
cssclasses: hide-title
```
[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
## FileView class
**Signature:**
```typescript is-loaded
export abstract class FileView extends ItemView
```
**Extends:** [`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/(constructor)) | | Constructs a new instance of the `FileView` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`allowNoFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile) | | `boolean` | |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl) | | `HTMLElement` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl) | | `HTMLElement` | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file) | | [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) ` | null` | |
| [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon) | | [`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf) | | [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation) | | `boolean` | File views can be navigated by default. |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) ` | null` | Assign an optional scope to your view to register hotkeys for when the view is in focus.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction) | | (Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)) |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`canAcceptExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension) | | |
| [`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText) | | |
| [`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState) | | |
| [`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType) | `abstract` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload) | | |
| [`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile) | | |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen) | `protected` | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu) | | Populates the pane menu.<br>(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onRename(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename) | | |
| [`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize) | | Called when the size of this view is changed.<br>(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onUnloadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile) | | |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState) | | (Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View)) |
| [`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState) | | |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/FileView/(constructor))
[allowNoFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile)
[canAcceptExtension](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[file](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file)
[getDisplayText](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText)
[getState](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[navigation](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation)
[onload](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload)
[onLoadFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile)
[onRename](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename)
[onUnloadFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile)
[setState](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
FileView
Not found
This page does not exist
Interactive graph
On this page
FileView class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian TypeScript API
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Plugin
```yaml is-loaded
aliases: "Plugin"
cssclasses: hide-title
```
[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
## Plugin class
**Signature:**
```typescript is-loaded
export abstract class Plugin extends Component
```
**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(app, manifest)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/(constructor)) | | Constructs a new instance of the `Plugin` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | |
| [`manifest`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/manifest) | | [`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`addCommand(command)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand) | | Register a command globally. Registered commands will be available from the @{link [https://help.md/Plugins/Command+palette](https://help.md/Plugins/Command+palette) Command palette}. The command id and name will be automatically prefixed with this plugin's id and name. |
| [`addRibbonIcon(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon) | | Adds a ribbon icon to the left bar. |
| [`addSettingTab(settingTab)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab) | | Register a settings tab, which allows users to change settings. |
| [`addStatusBarItem()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem) | | Adds a status bar item to the bottom of the app. Not available on mobile. |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`loadData()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData) | | Load settings data from disk. Data is stored in `data.json` in the plugin folder. |
| [`onExternalSettingsChange()?`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onExternalSettingsChange) | | _(Optional)_ Called when the `data.json` file is modified on disk externally from Obsidian. This usually means that a Sync service or external program has modified the plugin settings.<br>Implement this method to reload plugin settings when they have changed externally. |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload) | | |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onUserEnable()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onUserEnable) | | Perform any initial setup code. The user has explicitly interacted with the plugin so its safe to engage with the user. If your plugin registers a custom view, you can open it here. |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEditorExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension) | | Registers a CodeMirror 6 extension. To reconfigure cm6 extensions for a plugin on the fly, an array should be passed in, and modified dynamically. Once this array is modified, calling [Workspace.updateOptions()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions) will apply the changes. |
| [`registerEditorSuggest(editorSuggest)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest) | | Register an EditorSuggest which can provide live suggestions while the user is typing. |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerExtensions(extensions, viewType)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerExtensions) | | |
| [`registerHoverLinkSource(id, info)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource) | | Registers a view with the 'Page preview' core plugin as an emitter of the 'hover-link' event. |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerMarkdownCodeBlockProcessor(language, handler, sortOrder)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor) | | Register a special post processor that handles fenced code given a language and a handler. This special post processor takes care of removing the `<pre><code>` and create a `<div>` that will be passed to the handler, and is expected to be filled with custom elements. |
| [`registerMarkdownPostProcessor(postProcessor, sortOrder)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor) | | Registers a post processor, to change how the document looks in reading mode. |
| [`registerObsidianProtocolHandler(action, handler)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerObsidianProtocolHandler) | | Register a handler for obsidian:// URLs. |
| [`registerView(type, viewCreator)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView) | | |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeCommand(commandId)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/removeCommand) | | Manually remove a command from the list of global commands. This should not be needed unless your plugin registers commands dynamically. |
| [`saveData(data)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData) | | Write settings data to disk. Data is stored in `data.json` in the plugin folder. |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/(constructor))
[addCommand](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand)
[addRibbonIcon](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon)
[addSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab)
[addStatusBarItem](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem)
[Anatomy of a plugin](https://docs.obsidian.md/Plugins/Getting+started/Anatomy+of+a+plugin)
[app](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[loadData](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData)
[manifest](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/manifest)
[onExternalSettingsChange](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onExternalSettingsChange)
[onload](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload)
[onUserEnable](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onUserEnable)
[registerEditorExtension](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension)
[registerEditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest)
[registerExtensions](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerExtensions)
[registerHoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource)
[registerMarkdownCodeBlockProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)
[registerMarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor)
[registerObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerObsidianProtocolHandler)
[registerView](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView)
[removeCommand](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/removeCommand)
[saveData](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData)
Plugin
Not found
This page does not exist
Interactive graph
On this page
Plugin class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## TypeScript API Menu
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Menu
```yaml is-loaded
aliases: "Menu"
cssclasses: hide-title
```
[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
## Menu class
**Signature:**
```typescript is-loaded
export class Menu extends Component implements CloseableComponent
```
**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)
**Implements:** [`CloseableComponent`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/(constructor)) | | Constructs a new instance of the `Menu` class |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`addItem(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem) | | Adds a menu item. Only works when menu is not shown yet. |
| [`addSeparator()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addSeparator) | | Adds a separator. Only works when menu is not shown yet. |
| [`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/close) | | |
| [`hide()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/hide) | | |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onHide(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/onHide) | | |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`setNoIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setNoIcon) | | |
| [`setUseNativeMenu(useNativeMenu)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setUseNativeMenu) | | Force this menu to use native or DOM. (Only works on the desktop app) |
| [`showAtMouseEvent(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent) | | |
| [`showAtPosition(position, doc)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition) | | |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Menu/(constructor))
[addItem](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem)
[addSeparator](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addSeparator)
[close](https://docs.obsidian.md/Reference/TypeScript+API/Menu/close)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[hide](https://docs.obsidian.md/Reference/TypeScript+API/Menu/hide)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-menu'))
[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-menu'))
[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('files-menu'))
[on('url-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('url-menu'))
[onHide](https://docs.obsidian.md/Reference/TypeScript+API/Menu/onHide)
[onPaneMenu](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)
[setNoIcon](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setNoIcon)
[setUseNativeMenu](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setUseNativeMenu)
[showAtMouseEvent](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent)
[showAtPosition](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition)
Menu
Not found
This page does not exist
Interactive graph
On this page
Menu class
Constructors
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Modals Guide
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
[Right-to-left](https://docs.obsidian.md/Plugins/User+interface/Right-to-left)
[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)
[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Modals
Modals display information and accept input from the user. To create a modal, create a class that extends [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal):
```ts is-loaded
import { App, Modal } from 'obsidian';
export class ExampleModal extends Modal {
constructor(app: App) {
super(app);
this.setContent('Look at me, I\'m a modal! 👀')
}
}
```
To open a modal, create a new instance of `ExampleModal` and call [open()](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open) on it:
```ts is-loaded
import { Plugin } from 'obsidian';
import { ExampleModal } from './modal';
export default class ExamplePlugin extends Plugin {
async onload() {
this.addCommand({
id: 'display-modal',
name: 'Display modal',
callback: () => {
new ExampleModal(this.app).open();
},
});
}
}
```
## Accept user input
The modal in the previous example only displayed some text. Let's look at a little more complex example that handles input from the user.
![modal-input.png](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/modal-input.png)
```ts is-loaded
import { App, Modal, Setting } from 'obsidian';
export class ExampleModal extends Modal {
constructor(app: App, onSubmit: (result: string) => void) {
super(app);
this.setTitle('What\'s your name?');
let name = '';
new Setting(this.contentEl)
.setName('Name')
.addText((text) =>
text.onChange((value) => {
name = value;
}));
new Setting(this.contentEl)
.addButton((btn) =>
btn
.setButtonText('Submit')
.setCta()
.onClick(() => {
this.close();
onSubmit(name);
}));
}
}
```
The result is returned in the `onSubmit` callback when the user clicks **Submit**:
```ts is-loaded
new ExampleModal(this.app, (result) => {
new Notice(`Hello, ${result}!`);
}).open();
```
## Select from list of suggestions
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) is a special modal that lets you display a list of suggestions to the user.
![suggest-modal.gif](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/suggest-modal.gif)
```ts is-loaded
import { App, Notice, SuggestModal } from 'obsidian';
interface Book {
title: string;
author: string;
}
const ALL_BOOKS = [\
{\
title: 'How to Take Smart Notes',\
author: 'Sönke Ahrens',\
},\
{\
title: 'Thinking, Fast and Slow',\
author: 'Daniel Kahneman',\
},\
{\
title: 'Deep Work',\
author: 'Cal Newport',\
},\
];
export class ExampleModal extends SuggestModal<Book> {
// Returns all available suggestions.
getSuggestions(query: string): Book[] {
return ALL_BOOKS.filter((book) =>
book.title.toLowerCase().includes(query.toLowerCase())
);
}
// Renders each suggestion item.
renderSuggestion(book: Book, el: HTMLElement) {
el.createEl('div', { text: book.title });
el.createEl('small', { text: book.author });
}
// Perform action on the selected suggestion.
onChooseSuggestion(book: Book, evt: MouseEvent | KeyboardEvent) {
new Notice(`Selected ${book.title}`);
}
}
```
In addition to `SuggestModal`, the Obsidian API provides an even more specialized type of modal for suggestions: the [FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal). While it doesn't give you the same control of how each item is rendered, you get [fuzzy string search](https://en.wikipedia.org/wiki/Approximate_string_matching) out-of-the-box.
![fuzzy-suggestion-modal.png](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/fuzzy-suggestion-modal.png)
```ts is-loaded
export class ExampleModal extends FuzzySuggestModal<Book> {
getItems(): Book[] {
return ALL_BOOKS;
}
getItemText(book: Book): string {
return book.title;
}
onChooseItem(book: Book, evt: MouseEvent | KeyboardEvent) {
new Notice(`Selected ${book.title}`);
}
}
```
Modals
Not found
This page does not exist
Interactive graph
On this page
Accept user input
Select from list of suggestions
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## FuzzySuggestModal Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# FuzzySuggestModal
```yaml is-loaded
aliases: "FuzzySuggestModal"
cssclasses: hide-title
```
[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
## FuzzySuggestModal class
**Signature:**
```typescript is-loaded
export abstract class FuzzySuggestModal<T> extends SuggestModal<FuzzyMatch<T>>
```
**Extends:** [`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) `<` [`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch) `<T>>`
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/(constructor)) | | Constructs a new instance of the `SuggestModal` class<br>(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/containerEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/contentEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`emptyStateText`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/emptyStateText) | | `string` | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl) | | `HTMLInputElement` | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit) | | `number` | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`modalEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`resultContainerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl) | | `HTMLElement` | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`shouldRestoreSelection`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/shouldRestoreSelection) | | `boolean` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`titleEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/titleEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close) | | Hide the modal.<br>(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`getItems()`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItems) | `abstract` | |
| [`getItemText(item)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItemText) | `abstract` | |
| [`getSuggestions(query)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions) | | |
| [`onChooseItem(item, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseItem) | `abstract` | |
| [`onChooseSuggestion(item, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseSuggestion) | | |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`onNoSuggestion()`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion) | | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`open()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open) | | Show the modal on the the active window. On mobile, the modal will animate on screen.<br>(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`renderSuggestion(item, el)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion) | | |
| [`selectActiveSuggestion(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion) | | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion) | | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`setContent(content)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setContent) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`setInstructions(instructions)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setInstructions) | | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder) | | (Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)) |
| [`setTitle(title)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
Links to this page
[getItems](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItems)
[getItemText](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItemText)
[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[onChooseItem](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseItem)
[onChooseSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseSuggestion)
[renderSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion)
FuzzySuggestModal
Not found
This page does not exist
Interactive graph
On this page
FuzzySuggestModal class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Vault Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Vault
```yaml is-loaded
aliases: "Vault"
cssclasses: hide-title
```
[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
## Vault class
Work with files and folders stored inside a vault.
**Signature:**
```typescript is-loaded
export class Vault extends Events
```
**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`adapter`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/adapter) | | [`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) | |
| [`configDir`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/configDir) | | `string` | Gets the path to the config folder. This value is typically `.obsidian` but it could be different. |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`append(file, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/append) | | Add text to the end of a plaintext file inside the vault. |
| [`cachedRead(file)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead) | | Read the content of a plaintext file stored inside the vault Use this if you only want to display the content to the user. If you want to modify the file content afterward use [Vault.read()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read) |
| [`copy(file, newPath)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/copy) | | Create a copy of a file or folder. |
| [`create(path, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/create) | | Create a new plaintext file inside the vault. |
| [`createBinary(path, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createBinary) | | Create a new binary file inside the vault. |
| [`createFolder(path)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createFolder) | | Create a new folder inside the vault. |
| [`delete(file, force)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete) | | Deletes the file completely. |
| [`getAbstractFileByPath(path)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath) | | Get a file or folder inside the vault at the given path. To check if the return type is a file, use `instanceof TFile`. To check if it is a folder, use `instanceof TFolder`. |
| [`getAllFolders(includeRoot)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllFolders) | | Get all folders in the vault. |
| [`getAllLoadedFiles()`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllLoadedFiles) | | Get all files and folders in the vault. |
| [`getFileByPath(path)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath) | | Get a file inside the vault at the given path. Returns `null` if the file does not exist. |
| [`getFiles()`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles) | | Get all files in the vault. |
| [`getFolderByPath(path)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath) | | Get a folder inside the vault at the given path. Returns `null` if the folder does not exist. |
| [`getMarkdownFiles()`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getMarkdownFiles) | | Get all Markdown files in the vault. |
| [`getName()`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getName) | | Gets the name of the vault. |
| [`getResourcePath(file)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getResourcePath) | | Returns an URI for the browser engine to use, for example to embed an image. |
| [`getRoot()`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getRoot) | | Get the root folder of the current vault. |
| [`modify(file, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify) | | Modify the contents of a plaintext file. |
| [`modifyBinary(file, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modifyBinary) | | Modify the contents of a binary file. |
| [`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`on(name: 'create', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('create')) | | Called when a file is created. This is also called when the vault is first loaded for each existing file If you do not wish to receive create events on vault load, register your event handler inside [Workspace.onLayoutReady()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady). |
| [`on(name: 'modify', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('modify')) | | Called when a file is modified. |
| [`on(name: 'delete', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('delete')) | | Called when a file is deleted. |
| [`on(name: 'rename', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('rename')) | | Called when a file is renamed. |
| [`process(file, fn, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) | | Atomically read, modify, and save the contents of a note. |
| [`read(file)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read) | | Read a plaintext file that is stored inside the vault, directly from disk. Use this if you intend to modify the file content afterwards. Use [Vault.cachedRead()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead) otherwise for better performance. |
| [`readBinary(file)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/readBinary) | | Read the content of a binary file stored inside the vault. |
| [`recurseChildren(root, cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/recurseChildren) | `static` | |
| [`rename(file, newPath)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/rename) | | Rename or move a file. To ensure links are automatically renamed, use [FileManager.renameFile()](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile) instead. |
| [`trash(file, system)`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash) | | Tries to move to system trash. If that isn't successful/allowed, use local trash |
| [`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
Links to this page
[adapter](https://docs.obsidian.md/Reference/TypeScript+API/Vault/adapter)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[append](https://docs.obsidian.md/Reference/TypeScript+API/Vault/append)
[cachedRead](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead)
[configDir](https://docs.obsidian.md/Reference/TypeScript+API/Vault/configDir)
[copy](https://docs.obsidian.md/Reference/TypeScript+API/Vault/copy)
[create](https://docs.obsidian.md/Reference/TypeScript+API/Vault/create)
[createBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createBinary)
[createFolder](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createFolder)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[delete](https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete)
[getAbstractFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath)
[getAllFolders](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllFolders)
[getAllLoadedFiles](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllLoadedFiles)
[getFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath)
[getFiles](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles)
[getFolderByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath)
[getMarkdownFiles](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getMarkdownFiles)
[getName](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getName)
[getResourcePath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getResourcePath)
[getRoot](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getRoot)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[modify](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify)
[modifyBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modifyBinary)
[on('create')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('create'))
[on('delete')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('delete'))
[on('modify')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('modify'))
[on('rename')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('rename'))
[process](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process)
[read](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read)
[readBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/readBinary)
[recurseChildren](https://docs.obsidian.md/Reference/TypeScript+API/Vault/recurseChildren)
[rename](https://docs.obsidian.md/Reference/TypeScript+API/Vault/rename)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[trash](https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Vault
Not found
This page does not exist
Interactive graph
On this page
Vault class
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Workspace
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)
[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)
[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)
[HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements)
[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)
[Right-to-left](https://docs.obsidian.md/Plugins/User+interface/Right-to-left)
[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)
[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)
[Views](https://docs.obsidian.md/Plugins/User+interface/Views)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
Editor
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Workspace
Obsidian lets you configure what content is visible to you at any given time. Hide the file explorer when you don't need it, display multiple documents side by side, or show an outline of your document while you're working on it. The configuration of visible content within your application window is known as the _workspace_.
The workspace is implemented as a [tree data structure](https://en.wikipedia.org/wiki/Tree_(data_structure)), where each node in the tree is referred to as a [workspace item](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem). There are two types of workspace items: [parents](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent) and [leaves](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf). The main difference is that parent items can contain _child_ items, including other parent items, whereas leaf items can't contain any workspace items at all.
There are two types of parent items, [splits](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit) and [tabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs), which determine how the children are presented to the user:
Split
Leaf
Leaf
Leaf
Tabs
Leaf
Leaf
Leaf
- A split item lays out its child items one after another along a vertical or horizontal direction.
- A tabs item only displays one child item at a time and hides the others.
The workspace has three special split items under it: _left_, _right_, and _root_. The following diagram shows a example of what a typical workspace could look like:
Workspace
Left split
Root split
Right split
Tabs
Leaf
Leaf
Split
Leaf
Leaf
Leaf
Tabs
Leaf
Leaf
Leaf
A leaf is a window that can display content in different ways. The type of leaf determines how content is displayed, and correspond to a specific _view_. For example, a leaf of type `graph` displays the [graph view](https://help.obsidian.md/Plugins/Graph+view).
## Splits
By default, the direction of the root split is set to vertical. When you create a new leaf to it, Obsidian creates a new column in the user interface. When you split a leaf, the resulting leaves are added to a new split item. While there's no defined limit to the number of levels you can create under the root split, in practice their usefulness diminish for each level.
Root split\\n(before)
Leaf
Leaf
Root split\\n(after)
Split
Leaf
Leaf
Leaf
The left and right splits work a little differently. When you split a leaf in the side docks, Obsidian generates a new tabs item and adds the new leaf under it. Effectively, this means they can only have three levels of workspace items at any time, and any direct children must be tabs items.
Right split\\n(before)
Tabs
Leaf
Leaf
Right split\\n(after)
Tabs
Tabs
Leaf
Leaf
Leaf
## Inspect the workspace
You can access the workspace through the [App](https://docs.obsidian.md/Reference/TypeScript+API/App) object. The following example prints the type of every leaf in the workspace:
```ts is-loaded
import { Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.addRibbonIcon('dice', 'Print leaf types', () => {
this.app.workspace.iterateAllLeaves((leaf) => {
console.log(leaf.getViewState().type);
});
});
}
}
```
## Leaf lifecycle
Plugins can add leaves of any type to the workspace, as well as define new leaf types through [custom views](https://docs.obsidian.md/Plugins/User+interface/Views). Here are a few ways to add a leaf to the workspace. For more ways, refer to [Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace).
- If you want to add a new leaf in the root split, use [getLeaf(true)](https://docs.obsidian.md/getLeaf).
- If you want to add a new leaf in any of the side bars, use [getLeftLeaf()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf) and [getRightLeaf()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getRightLeaf). Both let you decide whether to add the leaf to a new split.
You can also explicitly add the leaf in the split of your choice, using [createLeafInParent()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent).
Unless explicitly removed, any leaves that a plugin add to the workspace remain even after the plugin is disabled. Plugins are responsible for removing any leaves they add to the workspace.
To remove a leaf from the workspace, call [detach()](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach) on the leaf you want to remove. You can also remove all leaves of a certain type, by using [detachLeavesOfType()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType).
## Leaf groups
You can create [linked views](https://help.obsidian.md/User+interface/Tabs#Linked+views) by assigning multiple leaves to the same group, using [setGroup()](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup).
```ts is-loaded
leaves.forEach((leaf) => leaf.setGroup('group1');
```
Workspace
Not found
This page does not exist
Interactive graph
On this page
Splits
Inspect the workspace
Leaf lifecycle
Leaf groups
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## EditorSuggest Class Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# EditorSuggest
```yaml is-loaded
aliases: "EditorSuggest"
cssclasses: hide-title
```
[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
## EditorSuggest class
**Signature:**
```typescript is-loaded
export abstract class EditorSuggest<T> extends PopoverSuggest<T>
```
**Extends:** [`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) `<T>`
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/(constructor)) | | Constructs a new instance of the `EditorSuggest` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`context`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/context) | | [`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext) ` | null` | Current suggestion context, containing the result of `onTrigger`. This will be null any time the EditorSuggest is not supposed to run. |
| [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/limit) | | `number` | Override this to use a different limit for suggestion items |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`close()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/close) | | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`getSuggestions(context)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions) | `abstract` | Generate suggestion items based on this context. Can be async, but preferably sync. When generating async suggestions, you should pass the context along. |
| [`onTrigger(cursor, editor, file)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger) | `abstract` | Based on the editor line and cursor position, determine if this EditorSuggest should be triggered at this moment. Typically, you would run a regular expression on the current line text before the cursor. Return null to indicate that this editor suggest is not supposed to be triggered.<br>Please be mindful of performance when implementing this function, as it will be triggered very often (on each keypress). Keep it simple, and return null as early as possible if you determine that it is not the right time. |
| [`open()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/open) | | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`renderSuggestion(value, el)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/renderSuggestion) | `abstract` | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/selectSuggestion) | `abstract` | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`setInstructions(instructions)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions) | | |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/(constructor))
[context](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/context)
[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[limit](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/limit)
[onTrigger](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)
[registerEditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest)
[setInstructions](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions)
EditorSuggest
Not found
This page does not exist
Interactive graph
On this page
EditorSuggest class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## TypeScript Editor API
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Editor
```yaml is-loaded
aliases: "Editor"
cssclasses: hide-title
```
[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
## Editor class
A common interface that bridges the gap between CodeMirror 5 and CodeMirror 6.
**Signature:**
```typescript is-loaded
export abstract class Editor
```
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`blur()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/blur) | `abstract` | |
| [`exec(command)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/exec) | `abstract` | |
| [`focus()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/focus) | `abstract` | |
| [`getCursor(string)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getCursor) | `abstract` | |
| [`getDoc()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getDoc) | | |
| [`getLine(line)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getLine) | `abstract` | Get the text at line (0-indexed) |
| [`getRange(from, to)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getRange) | `abstract` | |
| [`getScrollInfo()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getScrollInfo) | `abstract` | |
| [`getSelection()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getSelection) | `abstract` | |
| [`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getValue) | `abstract` | |
| [`hasFocus()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/hasFocus) | `abstract` | |
| [`lastLine()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/lastLine) | `abstract` | |
| [`lineCount()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/lineCount) | `abstract` | Gets the number of lines in the document |
| [`listSelections()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/listSelections) | `abstract` | |
| [`offsetToPos(offset)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/offsetToPos) | `abstract` | |
| [`posToOffset(pos)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/posToOffset) | `abstract` | |
| [`processLines(read, write, ignoreEmpty)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/processLines) | | |
| [`redo()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/redo) | `abstract` | |
| [`refresh()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/refresh) | `abstract` | |
| [`replaceRange(replacement, from, to, origin)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange) | `abstract` | |
| [`replaceSelection(replacement, origin)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceSelection) | `abstract` | |
| [`scrollIntoView(range, center)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollIntoView) | `abstract` | |
| [`scrollTo(x, y)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollTo) | `abstract` | |
| [`setCursor(pos, ch)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setCursor) | | |
| [`setLine(n, text)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setLine) | | |
| [`setSelection(anchor, head)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelection) | `abstract` | |
| [`setSelections(ranges, main)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelections) | `abstract` | |
| [`setValue(content)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setValue) | `abstract` | |
| [`somethingSelected()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/somethingSelected) | | |
| [`transaction(tx, origin)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/transaction) | `abstract` | |
| [`undo()`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/undo) | `abstract` | |
| [`wordAt(pos)`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/wordAt) | `abstract` | |
Links to this page
[blur](https://docs.obsidian.md/Reference/TypeScript+API/Editor/blur)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[exec](https://docs.obsidian.md/Reference/TypeScript+API/Editor/exec)
[focus](https://docs.obsidian.md/Reference/TypeScript+API/Editor/focus)
[getCursor](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getCursor)
[getDoc](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getDoc)
[getLine](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getLine)
[getRange](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getRange)
[getScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getScrollInfo)
[getSelection](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getSelection)
[getValue](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getValue)
[hasFocus](https://docs.obsidian.md/Reference/TypeScript+API/Editor/hasFocus)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[lastLine](https://docs.obsidian.md/Reference/TypeScript+API/Editor/lastLine)
[lineCount](https://docs.obsidian.md/Reference/TypeScript+API/Editor/lineCount)
[listSelections](https://docs.obsidian.md/Reference/TypeScript+API/Editor/listSelections)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[offsetToPos](https://docs.obsidian.md/Reference/TypeScript+API/Editor/offsetToPos)
[posToOffset](https://docs.obsidian.md/Reference/TypeScript+API/Editor/posToOffset)
[processLines](https://docs.obsidian.md/Reference/TypeScript+API/Editor/processLines)
[redo](https://docs.obsidian.md/Reference/TypeScript+API/Editor/redo)
[refresh](https://docs.obsidian.md/Reference/TypeScript+API/Editor/refresh)
[replaceRange](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange)
[replaceSelection](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceSelection)
[scrollIntoView](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollIntoView)
[scrollTo](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollTo)
[setCursor](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setCursor)
[setLine](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setLine)
[setSelection](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelection)
[setSelections](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelections)
[setValue](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setValue)
[somethingSelected](https://docs.obsidian.md/Reference/TypeScript+API/Editor/somethingSelected)
[transaction](https://docs.obsidian.md/Reference/TypeScript+API/Editor/transaction)
[undo](https://docs.obsidian.md/Reference/TypeScript+API/Editor/undo)
[wordAt](https://docs.obsidian.md/Reference/TypeScript+API/Editor/wordAt)
Editor
Not found
This page does not exist
Interactive graph
On this page
Editor class
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Editor State Management
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# State management
This page aims to give an introduction to state management for [editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions).
Note
This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more detailed information on state management, refer to [State and Updates](https://codemirror.net/docs/guide/#state-and-updates).
## State changes
In most applications, you would update state by assigning a new value to a property or variable. As a consequence, the old value is lost forever.
```ts is-loaded
let note = '';
note = 'Heading'
note = '# Heading'
note = '## Heading' // How to undo this?
```
To support features like undoing and redoing changes to a user's workspace, applications like Obsidian instead keep a history of all changes that have been made. To undo a change, you can then go back to a point in time before the change was made.
| | State |
| --- | --- |
| 0 | |
| 1 | Heading |
| 2 | \# Heading |
| 3 | \## Heading |
In TypeScript, you'd then end up with something like this:
```ts is-loaded
const changes: ChangeSpec[] = [];
changes.push({ from: 0, insert: 'Heading' });
changes.push({ from: 0, insert: '# ' });
changes.push({ from: 0, insert: '#' });
```
## Transactions
Imagine a feature where you select some text and press the double quote, `"` to surround the selection with quotes on both sides. One way to implement the feature would be to:
1. Insert `"` at the start of the selection.
2. Insert `"` at the end of the selection.
Notice that the implementation consists of _two_ state changes. If you added these to the undo history, the user would need to undo _twice_, once for each double quote. To avoid this, what if you could group these changes so that they appear as one?
For editor extensions, a group of state changes that happen together is called a _transaction_.
If you combine what you've learned so far—and if you allow transactions that contain only a single state change—then you can consider state as a _history of transactions_.
Bringing it all together to implement the surround feature from before in an editor extension, here's how you'd add, or _dispatch_, a transaction to the editor view:
```ts is-loaded
view.dispatch({
changes: [\
{ from: selectionStart, insert: `"` },\
{ from: selectionEnd, insert: `"` }\
]
});
```
## Next steps
On this page, you've learned about modeling state as a series of state changes, and how to group them into transactions.
To learn how to manage custom state in your editor, refer to [State fields](https://docs.obsidian.md/Plugins/Editor/State+fields).
Links to this page
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
State management
Not found
This page does not exist
Interactive graph
On this page
State changes
Transactions
Next steps
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## MetadataCache Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# MetadataCache
```yaml is-loaded
aliases: "MetadataCache"
cssclasses: hide-title
```
[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
## MetadataCache class
Linktext is any internal link that is composed of a path and a subpath, such as 'My note#Heading' Linkpath (or path) is the path part of a linktext Subpath is the heading/block ID part of a linktext.
**Signature:**
```typescript is-loaded
export class MetadataCache extends Events
```
**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`resolvedLinks`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/resolvedLinks) | | `Record` `<string, ` `Record` `<string, number>>` | Contains all resolved links. This object maps each source file's path to an object of destination file paths with the link count. Source and destination paths are all vault absolute paths that comes from `TFile.path` and can be used with `Vault.getAbstractFileByPath(path)`. |
| [`unresolvedLinks`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/unresolvedLinks) | | `Record` `<string, ` `Record` `<string, number>>` | Contains all unresolved links. This object maps each source file to an object of unknown destinations with count. Source paths are all vault absolute paths, similar to `resolvedLinks`. |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`fileToLinktext(file, sourcePath, omitMdExtension)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext) | | Generates a linktext for a file.<br>If file name is unique, use the filename. If not unique, use full path. |
| [`getCache(path)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache) | | |
| [`getFileCache(file)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache) | | |
| [`getFirstLinkpathDest(linkpath, sourcePath)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFirstLinkpathDest) | | Get the best match for a linkpath. |
| [`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`on(name: 'changed', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('changed')) | | Called when a file has been indexed, and its (updated) cache is now available.<br>Note: This is not called when a file is renamed for performance reasons. You must hook the vault rename event for those. |
| [`on(name: 'deleted', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('deleted')) | | Called when a file has been deleted. A best-effort previous version of the cached metadata is presented, but it could be null in case the file was not successfully cached previously. |
| [`on(name: 'resolve', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('resolve')) | | Called when a file has been resolved for `resolvedLinks` and `unresolvedLinks`. This happens sometimes after a file has been indexed. |
| [`on(name: 'resolved', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('resolved')) | | Called when all files has been resolved. This will be fired each time files get modified after the initial load. |
| [`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
Links to this page
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[fileToLinktext](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext)
[getCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache)
[getFileCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)
[getFirstLinkpathDest](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFirstLinkpathDest)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[on('changed')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('changed'))
[on('deleted')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('deleted'))
[on('resolve')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('resolve'))
[on('resolved')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('resolved'))
[resolvedLinks](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/resolvedLinks)
[unresolvedLinks](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/unresolvedLinks)
MetadataCache
Not found
This page does not exist
Interactive graph
On this page
MetadataCache class
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian Component API
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# Component
```yaml is-loaded
aliases: "Component"
cssclasses: hide-title
```
[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)
## Component class
**Signature:**
```typescript is-loaded
export class Component
```
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children |
Links to this page
[addChild](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[load](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[onload](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload)
[onunload](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[register](https://docs.obsidian.md/Reference/TypeScript+API/Component/register)
[registerDomEvent](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent)
[registerDomEvent\_1](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1)
[registerDomEvent\_2](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2)
[registerEvent](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent)
[registerInterval](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval)
[removeChild](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild)
[render](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render)
[renderMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[unload](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
Component
Not found
This page does not exist
Interactive graph
On this page
Component class
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## MomentFormatComponent Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# MomentFormatComponent
```yaml is-loaded
aliases: "MomentFormatComponent"
cssclasses: hide-title
```
[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
## MomentFormatComponent class
**Signature:**
```typescript is-loaded
export class MomentFormatComponent extends TextComponent
```
**Extends:** [`TextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/(constructor)) | | Constructs a new instance of the `TextComponent` class<br>(Inherited from [TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)) |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`disabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled) | | `boolean` | (Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)) |
| [`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/inputEl) | | `T` | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`sampleEl`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/sampleEl) | | `HTMLElement` | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/getValue) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChange) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`onChanged()`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/onChanged) | | |
| [`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener) | | (Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)) |
| [`setDefaultFormat(defaultFormat)`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setDefaultFormat) | | Sets the default format when input is cleared. Also used for placeholder. |
| [`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`setSampleEl(sampleEl)`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setSampleEl) | | |
| [`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setValue) | | |
| [`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then) | | Facilitates chaining<br>(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)) |
| [`updateSample()`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/updateSample) | | |
Links to this page
[addMomentFormat](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addMomentFormat)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[onChanged](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/onChanged)
[sampleEl](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/sampleEl)
[setDefaultFormat](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setDefaultFormat)
[setSampleEl](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setSampleEl)
[setValue](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setValue)
[updateSample](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/updateSample)
MomentFormatComponent
Not found
This page does not exist
Interactive graph
On this page
MomentFormatComponent class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## AbstractInputSuggest Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# AbstractInputSuggest
```yaml is-loaded
aliases: "AbstractInputSuggest"
cssclasses: hide-title
```
[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
## AbstractInputSuggest class
Attach to an `<input>` element or a `<div contentEditable>` to add type-ahead support.
**Signature:**
```typescript is-loaded
export abstract class AbstractInputSuggest<T> extends PopoverSuggest<T>
```
**Extends:** [`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) `<T>`
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(app, textInputEl)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/(constructor)) | | Accepts an `<input>` text box or a contenteditable div. |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/limit) | | `number` | Limit to the number of elements rendered at once. Set to 0 to disable. Defaults to 100. |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`close()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/close) | | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`getSuggestions(query)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getSuggestions) | `protected`<br>`abstract` | |
| [`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getValue) | | Gets the value from the input element. |
| [`onSelect(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/onSelect) | | Registers a callback to handle when a suggestion is selected by the user. |
| [`open()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/open) | | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`renderSuggestion(value, el)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/renderSuggestion) | `abstract` | (Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)) |
| [`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/selectSuggestion) | | |
| [`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/setValue) | | Sets the value into the input element. |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/(constructor))
[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getSuggestions)
[getValue](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getValue)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[limit](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/limit)
[onSelect](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/onSelect)
[selectSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/selectSuggestion)
[setValue](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/setValue)
AbstractInputSuggest
Not found
This page does not exist
Interactive graph
On this page
AbstractInputSuggest class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian View Plugins
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Getting started
Guides
User interface
Editor
[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)
[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)
[State management](https://docs.obsidian.md/Plugins/Editor/State+management)
[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
Releasing
[Events](https://docs.obsidian.md/Plugins/Events)
[Vault](https://docs.obsidian.md/Plugins/Vault)
Themes
Reference
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# View plugins
A view plugin is an [editor extension](https://docs.obsidian.md/Plugins/Editor/Editor+extensions) that gives you access to the editor [Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport).
Note
This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more information on state management, refer to [Affecting the View](https://codemirror.net/docs/guide/#affecting-the-view).
## Prerequisites
- Basic understanding of the [Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport).
## Creating a view plugin
View plugins are editor extensions that run _after_ the viewport has been recomputed. While this means that they can access the viewport, it also means that a view plugin can't make any changes that would impact the viewport. For example, by inserting blocks or line breaks into the document.
Tip
If you want to make changes that impact the vertical layout of the editor, by for example inserting blocks and line breaks, you need to use a [state field](https://docs.obsidian.md/Plugins/Editor/State+fields).
To create a view plugin, create a class that implements [PluginValue](https://codemirror.net/docs/ref/#view.PluginValue) and pass it to the [ViewPlugin.fromClass()](https://codemirror.net/docs/ref/#view.ViewPlugin%5EfromClass) function.
```ts is-loaded
import {
ViewUpdate,
PluginValue,
EditorView,
ViewPlugin,
} from '@codemirror/view';
class ExamplePlugin implements PluginValue {
constructor(view: EditorView) {
// ...
}
update(update: ViewUpdate) {
// ...
}
destroy() {
// ...
}
}
export const examplePlugin = ViewPlugin.fromClass(ExamplePlugin);
```
The three methods of the view plugin control its lifecycle:
- `constructor()` initializes the plugin.
- `update()` updates your plugin when something has changed, for example when the user entered or selected some text.
- `destroy()` cleans up after the plugin.
While the view plugin in the example works, it doesn't do much. If you want to better understand what causes the plugin to update, you can add a `console.log(update);` line to the `update()` method to print all updates to the console.
## Next steps
Provide [Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations) from your view plugin to change how to display the document.
Links to this page
[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)
[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)
[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)
[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)
View plugins
Not found
This page does not exist
Interactive graph
On this page
Prerequisites
Creating a view plugin
Next steps
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## WorkspaceRoot Class Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# WorkspaceRoot
```yaml is-loaded
aliases: "WorkspaceRoot"
cssclasses: hide-title
```
[`WorkspaceRoot`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
## WorkspaceRoot class
**Signature:**
```typescript is-loaded
export class WorkspaceRoot extends WorkspaceContainer
```
**Extends:** [`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`doc`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot/doc) | | `Document` | |
| [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent) | | [`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent) | (Inherited from [WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)) |
| [`win`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot/win) | | `Window` | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`getContainer()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer) | | Get the root container parent item, which can be one of: - [WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot) \- [WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)<br>(Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)) |
| [`getRoot()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot) | | (Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)) |
| [`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`on(name: string, callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/on) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
| [`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger) | | (Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)) |
Links to this page
[doc](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot/doc)
[getContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[win](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot/win)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
WorkspaceRoot
Not found
This page does not exist
Interactive graph
On this page
WorkspaceRoot class
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## SuggestModal Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# SuggestModal
```yaml is-loaded
aliases: "SuggestModal"
cssclasses: hide-title
```
[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
## SuggestModal class
**Signature:**
```typescript is-loaded
export abstract class SuggestModal<T> extends Modal implements ISuggestOwner<T>
```
**Extends:** [`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
**Implements:** [`ISuggestOwner`](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner) `<T>`
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/(constructor)) | | Constructs a new instance of the `SuggestModal` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`app`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/app) | | [`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/containerEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/contentEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`emptyStateText`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/emptyStateText) | | `string` | |
| [`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl) | | `HTMLInputElement` | |
| [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit) | | `number` | |
| [`modalEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`resultContainerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl) | | `HTMLElement` | |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`shouldRestoreSelection`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/shouldRestoreSelection) | | `boolean` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`titleEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/titleEl) | | `HTMLElement` | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close) | | Hide the modal.<br>(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`getSuggestions(query)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/getSuggestions) | `abstract` | |
| [`onChooseSuggestion(item, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onChooseSuggestion) | `abstract` | |
| [`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`onNoSuggestion()`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion) | | |
| [`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`open()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open) | | Show the modal on the the active window. On mobile, the modal will animate on screen.<br>(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`renderSuggestion(value, el)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/renderSuggestion) | `abstract` | |
| [`selectActiveSuggestion(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion) | | |
| [`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion) | | |
| [`setContent(content)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setContent) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
| [`setInstructions(instructions)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setInstructions) | | |
| [`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder) | | |
| [`setTitle(title)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle) | | (Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/(constructor))
[emptyStateText](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/emptyStateText)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/getSuggestions)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[inputEl](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl)
[limit](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit)
[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)
[onChooseSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onChooseSuggestion)
[onNoSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion)
[renderSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/renderSuggestion)
[resultContainerEl](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl)
[selectActiveSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion)
[selectSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion)
[setInstructions](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setInstructions)
[setPlaceholder](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder)
SuggestModal
Not found
This page does not exist
Interactive graph
On this page
SuggestModal class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## SearchComponent Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# SearchComponent
```yaml is-loaded
aliases: "SearchComponent"
cssclasses: hide-title
```
[`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
## SearchComponent class
**Signature:**
```typescript is-loaded
export class SearchComponent extends AbstractTextComponent<HTMLInputElement>
```
**Extends:** [`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) ```<``HTMLInputElement``>```
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/(constructor)) | | Constructs a new instance of the `SearchComponent` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`clearButtonEl`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/clearButtonEl) | | `HTMLElement` | |
| [`disabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled) | | `boolean` | (Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)) |
| [`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/inputEl) | | `T` | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/getValue) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChange) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`onChanged()`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/onChanged) | | |
| [`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener) | | (Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)) |
| [`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setValue) | | (Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)) |
| [`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then) | | Facilitates chaining<br>(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/(constructor))
[addSearch](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSearch)
[clearButtonEl](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/clearButtonEl)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[onChanged](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/onChanged)
SearchComponent
Not found
This page does not exist
Interactive graph
On this page
SearchComponent class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## MarkdownPostProcessorContext
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# MarkdownPostProcessorContext
```yaml is-loaded
aliases: "MarkdownPostProcessorContext"
cssclasses: hide-title
```
[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
## MarkdownPostProcessorContext interface
**Signature:**
```typescript is-loaded
export interface MarkdownPostProcessorContext
```
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`docId`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/docId) | | `string` | |
| [`frontmatter`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/frontmatter) | | `any | null | undefined` | |
| [`sourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/sourcePath) | | `string` | The path to the associated file. Any links are assumed to be relative to the `sourcePath`. |
## Methods
| Method | Description |
| --- | --- |
| [`addChild(child)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild) | Adds a child component that will have its lifecycle managed by the renderer.<br>Use this to add a dependent child to the renderer such that if the containerEl of the child is ever removed, the component's unload will be called. |
| [`getSectionInfo(el)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/getSectionInfo) | Gets the section information of this element at this point in time. Only call this function right before you need this information to get the most up-to-date version. This function may also return null in many circumstances; if you use it, you must be prepared to deal with nulls. |
Links to this page
[addChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)
[createCodeBlockPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/createCodeBlockPostProcessor)
[docId](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/docId)
[frontmatter](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/frontmatter)
[getSectionInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/getSectionInfo)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[registerMarkdownCodeBlockProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)
[sourcePath](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/sourcePath)
MarkdownPostProcessorContext
Not found
This page does not exist
Interactive graph
On this page
MarkdownPostProcessorContext interface
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Debounce Function
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# debounce
```yaml is-loaded
aliases: "debounce"
cssclasses: hide-title
```
[`debounce`](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
## debounce() function
A standard debounce function. Use this to have a time-delayed function only be called once in a given timeframe.
**Signature:**
```typescript is-loaded
export function debounce<T extends unknown[], V>(cb: (...args: [...T]) => V, timeout?: number, resetTimer?: boolean): Debouncer<T, V>;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| `cb` | `(...args: [...T]) => V` | The function to call. |
| `timeout` | `number` | _(Optional)_ The timeout to wait, in milliseconds |
| `resetTimer` | `boolean` | _(Optional)_ Whether to reset the timeout when the debouncer is called again. |
**Returns:**
[`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer) `<T, V>`
a debounced function that takes the same parameter as the original function.
## Example
```ts is-loaded
const debounced = debounce((text: string) => {
console.log(text);
}, 1000, true);
debounced('Hello world'); // this will not be printed
await sleep(500);
debounced('World, hello'); // this will be printed to the console.
```
Links to this page
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
debounce
Not found
This page does not exist
Interactive graph
On this page
debounce() function
Parameters
Example
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Markdown Render Child
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# MarkdownRenderChild
```yaml is-loaded
aliases: "MarkdownRenderChild"
cssclasses: hide-title
```
[`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
## MarkdownRenderChild class
**Signature:**
```typescript is-loaded
export class MarkdownRenderChild extends Component
```
**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/(constructor)) | | Constructs a new instance of the `MarkdownRenderChild` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/containerEl) | | `HTMLElement` | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/(constructor))
[addChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)
[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/containerEl)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
MarkdownRenderChild
Not found
This page does not exist
Interactive graph
On this page
MarkdownRenderChild class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## HoverPopover Class Overview
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# HoverPopover
```yaml is-loaded
aliases: "HoverPopover"
cssclasses: hide-title
```
[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
## HoverPopover class
**Signature:**
```typescript is-loaded
export class HoverPopover extends Component
```
**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(parent, targetEl, waitTime, staticPos)`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/(constructor)) | | Constructs a new instance of the `HoverPopover` class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`hoverEl`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/hoverEl) | | `HTMLElement` | |
| [`state`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/state) | | [`PopoverState`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState) | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild) | | Adds a child component, loading it if this component is loaded<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load) | | Load this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload) | | Override this to load your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) | | Override this to unload your component<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register) | | Registers a callback to be called when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2) | | Registers an DOM event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) | | Registers an event to be detached when unloading<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) | | Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild) | | Removes a child component, unloading it<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
| [`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload) | | Unload this component and its children<br>(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)) |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/(constructor))
[hoverEl](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/hoverEl)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[state](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/state)
HoverPopover
Not found
This page does not exist
Interactive graph
On this page
HoverPopover class
Constructors
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## Obsidian App Class
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# App
```yaml is-loaded
aliases: "App"
cssclasses: hide-title
```
[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)
## App class
**Signature:**
```typescript is-loaded
export class App
```
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`fileManager`](https://docs.obsidian.md/Reference/TypeScript+API/App/fileManager) | | [`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) | |
| [`keymap`](https://docs.obsidian.md/Reference/TypeScript+API/App/keymap) | | [`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap) | |
| [`lastEvent`](https://docs.obsidian.md/Reference/TypeScript+API/App/lastEvent) | | [`UserEvent`](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent) ` | null` | The last known user interaction event, to help commands find out what modifier keys are pressed. |
| [`metadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/App/metadataCache) | | [`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) | |
| [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/App/scope) | | [`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) | |
| [`vault`](https://docs.obsidian.md/Reference/TypeScript+API/App/vault) | | [`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) | |
| [`workspace`](https://docs.obsidian.md/Reference/TypeScript+API/App/workspace) | | [`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) | |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`loadLocalStorage(key)`](https://docs.obsidian.md/Reference/TypeScript+API/App/loadLocalStorage) | | Retrieve value from `localStorage` for this vault. |
| [`saveLocalStorage(key, data)`](https://docs.obsidian.md/Reference/TypeScript+API/App/saveLocalStorage) | | Save vault-specific value to `localStorage`. If data is `null`, the entry will be cleared. |
Links to this page
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/(constructor))
[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/(constructor))
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[fileManager](https://docs.obsidian.md/Reference/TypeScript+API/App/fileManager)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[keymap](https://docs.obsidian.md/Reference/TypeScript+API/App/keymap)
[lastEvent](https://docs.obsidian.md/Reference/TypeScript+API/App/lastEvent)
[loadLocalStorage](https://docs.obsidian.md/Reference/TypeScript+API/App/loadLocalStorage)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[metadataCache](https://docs.obsidian.md/Reference/TypeScript+API/App/metadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[saveLocalStorage](https://docs.obsidian.md/Reference/TypeScript+API/App/saveLocalStorage)
[scope](https://docs.obsidian.md/Reference/TypeScript+API/App/scope)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[Use React in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin)
[vault](https://docs.obsidian.md/Reference/TypeScript+API/App/vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)
[workspace](https://docs.obsidian.md/Reference/TypeScript+API/App/workspace)
App
Not found
This page does not exist
Interactive graph
On this page
App class
Properties
Methods
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## CachedMetadata Interface
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)
[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)
[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)
[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)
[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)
[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)
[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)
[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)
[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)
[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)
[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)
[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)
[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)
[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)
[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)
[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)
[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)
[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)
[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)
[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)
[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)
[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)
[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)
[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)
[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)
[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)
[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)
[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)
[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)
[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)
[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)
[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)
[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)
[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)
[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)
[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)
[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)
[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)
[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)
[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)
[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)
[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)
[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)
[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)
[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)
[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)
[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)
[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)
[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)
[request](https://docs.obsidian.md/Reference/TypeScript+API/request)
[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)
[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)
[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)
[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)
[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)
[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)
[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)
[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)
[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)
[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)
[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)
[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)
[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)
[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)
[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)
[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)
[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)
[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)
[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)
[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)
[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)
[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)
[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)
[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)
[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)
[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)
[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)
[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)
[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)
[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)
[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)
[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)
[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)
[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)
[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)
[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)
[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)
[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)
[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)
[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)
[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)
[View](https://docs.obsidian.md/Reference/TypeScript+API/View)
[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)
[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)
[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)
[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)
[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)
[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)
[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)
[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)
[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)
[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)
[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)
[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)
[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)
[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)
[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)
[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)
[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)
[Manifest](https://docs.obsidian.md/Reference/Manifest)
[Versions](https://docs.obsidian.md/Reference/Versions)
[Developer policies](https://docs.obsidian.md/Developer+policies)
[Home](https://docs.obsidian.md/Home)
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
# CachedMetadata
```yaml is-loaded
aliases: "CachedMetadata"
cssclasses: hide-title
```
[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
## CachedMetadata interface
**Signature:**
```typescript is-loaded
export interface CachedMetadata
```
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`blocks?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/blocks) | | `Record` `<string, ` [`BlockCache`](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache) `>` | _(Optional)_ |
| [`embeds?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/embeds) | | [`EmbedCache`](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache) `[]` | _(Optional)_ |
| [`footnoteRefs?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnoteRefs) | | [`FootnoteRefCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache) `[]` | _(Optional)_ |
| [`footnotes?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnotes) | | [`FootnoteCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache) `[]` | _(Optional)_ |
| [`frontmatter?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatter) | | [`FrontMatterCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache) | _(Optional)_ |
| [`frontmatterLinks?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterLinks) | | [`FrontmatterLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache) `[]` | _(Optional)_ |
| [`frontmatterPosition?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterPosition) | | [`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos) | _(Optional)_ Position of the frontmatter in the file. |
| [`headings?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings) | | [`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache) `[]` | _(Optional)_ |
| [`links?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links) | | [`LinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache) `[]` | _(Optional)_ |
| [`listItems?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems) | | [`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache) `[]` | _(Optional)_ |
| [`referenceLinks?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks) | | [`ReferenceLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache) `[]` | _(Optional)_ |
| [`sections?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections) | | [`SectionCache`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache) `[]` | _(Optional)_ Sections are root level markdown blocks, which can be used to divide the document up. |
| [`tags?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags) | | [`TagCache`](https://docs.obsidian.md/Reference/TypeScript+API/TagCache) `[]` | _(Optional)_ |
Links to this page
[blocks](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/blocks)
[embeds](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/embeds)
[footnoteRefs](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnoteRefs)
[footnotes](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnotes)
[frontmatter](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatter)
[frontmatterLinks](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterLinks)
[frontmatterPosition](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterPosition)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache)
[getFileCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)
[headings](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[links](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links)
[listItems](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems)
[on('changed')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('changed'))
[on('deleted')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('deleted'))
[referenceLinks](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks)
[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)
[sections](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections)
[tags](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags)
CachedMetadata
Not found
This page does not exist
Interactive graph
On this page
CachedMetadata interface
Properties
[Powered by Obsidian Publish](https://publish.obsidian.md/)
## DataAdapter Interface
[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)
Plugins
Themes
Reference
CSS variables
TypeScript API
AbstractInputSuggest
AbstractTextComponent
App
BaseComponent
BlockCache
BlockSubpathResult
ButtonComponent
CachedMetadata
CacheItem
CapacitorAdapter
CloseableComponent
ColorComponent
Command
Component
DataAdapter
DataWriteOptions
Debouncer
DropdownComponent
Editor
EditorChange
EditorPosition
EditorRange
EditorRangeOrCaret
EditorScrollInfo
EditorSelection
EditorSelectionOrCaret
EditorSuggest
EditorSuggestContext
EditorSuggestTriggerInfo
EditorTransaction
Events
ExtraButtonComponent
FileManager
FileStats
FileSystemAdapter
FileView
FootnoteCache
FootnoteRefCache
FootnoteSubpathResult
FrontMatterInfo
FrontmatterLinkCache
FuzzyMatch
FuzzySuggestModal
HeadingCache
HeadingSubpathResult
Hotkey
HoverLinkSource
HoverParent
HoverPopover
HSL
Instruction
ISuggestOwner
ItemView
Keymap
KeymapContext
KeymapEventHandler
KeymapInfo
ListedFiles
ListItemCache
LivePreviewStateType
Loc
MarkdownEditView
MarkdownFileInfo
MarkdownPostProcessor
MarkdownPostProcessorContext
MarkdownPreviewRenderer
MarkdownPreviewView
MarkdownRenderChild
MarkdownRenderer
MarkdownSectionInformation
MarkdownSubView
MarkdownView
Menu
MenuItem
MenuPositionDef
MetadataCache
Modal
MomentFormatComponent
Notice
ObsidianProtocolData
OpenViewState
Plugin
PluginManifest
PluginSettingTab
Point
PopoverSuggest
Pos
ProgressBarComponent
Reference
ReferenceLinkCache
RequestUrlParam
RequestUrlResponse
RequestUrlResponsePromise
RGB
Scope
SearchComponent
SearchResult
SearchResultContainer
SectionCache
Setting
SettingTab
SliderComponent
Stat
SubpathResult
SuggestModal
TAbstractFile
TagCache
Tasks
TextAreaComponent
TextComponent
TextFileView
TFile
TFolder
ToggleComponent
TooltipOptions
ValueComponent
Vault
View
ViewState
ViewStateResult
Workspace
WorkspaceContainer
WorkspaceFloating
WorkspaceItem
WorkspaceLeaf
WorkspaceMobileDrawer
WorkspaceRoot
WorkspaceSidedock
WorkspaceSplit
WorkspaceTabs
WorkspaceWindow
WorkspaceWindowInitData
[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)
[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)
[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)
[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)
[App](https://docs.obsidian.md/Reference/TypeScript+API/App)
[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)
[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)
[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)
[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)
[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)
[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)
[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)
[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)
[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)
[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)
[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)
[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)
[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)
[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)
[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)
[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)
[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)
[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)
[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)
[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)
[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)
[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)
[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)
[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)
[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)
[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)
[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)
[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)
[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)
[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)
[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)
[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)
[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)
[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)
[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)
[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)
[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)
[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)
[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)
[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)
[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)
[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)
[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)
[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)
[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)
[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)
[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)
[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)
[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)
[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)
[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)
[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)
[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)
[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)
[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)
[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)
[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)
[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)
[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)
[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)
[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)
[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)
[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)
[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)
[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)
[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)
[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)
[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)
[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)
[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)
[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)
[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)
[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)
[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)
[index](https://docs.obsidian.md/Reference/TypeScript+API/index)
[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)
[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)
[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)
[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)
[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)
[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)
[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)
[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)
[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)
[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)
[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)
[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)
[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)
[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)
[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)
[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)
[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)
[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)
[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)
[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)
[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)
[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)
[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)
[MarkdownPostProcessorContext](https://docs.obsidian.md/Refere
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment