System Module
This module contains system related functions.
- Documentation
tp.system.clipboard()
tp.system.prompt(prompt_text?: string, default_value?: string, throw_on_cancel: boolean = false, multiline?: boolean = false)
tp.system.suggester(text_items: string[] ⎮ ((item: T) => string), items: T[], throw_on_cancel: boolean = false, placeholder: string = "", limit?: number = undefined)
- Examples
Documentation
Function documentation is using a specific syntax. More information here.
tp.system.clipboard()
Retrieves the clipboard's content.
Examples
// Clipboard
<% tp.system.clipboard() %>
tp.system.prompt(prompt_text?: string, default_value?: string, throw_on_cancel: boolean = false, multiline?: boolean = false)
Spawns a prompt modal and returns the user's input.
Arguments
-
prompt_text
: Text placed above the input field. -
default_value
: A default value for the input field. -
throw_on_cancel
: Throws an error if the prompt is canceled, instead of returning anull
value. -
multiline
: If set totrue
, the input field will be a multiline textarea. Defaults tofalse
.
Examples
// Prompt
<% tp.system.prompt("Please enter a value") %>
// Prompt with default value
<% tp.system.prompt("What is your mood today?", "happy") %>
// Multiline prompt
<% tp.system.prompt("What is your mood today?", null, false, true) %>
tp.system.suggester(text_items: string[] ⎮ ((item: T) => string), items: T[], throw_on_cancel: boolean = false, placeholder: string = "", limit?: number = undefined)
Spawns a suggester prompt and returns the user's chosen item.
Arguments
-
text_items
: Array of strings representing the text that will be displayed for each item in the suggester prompt. This can also be a function that maps an item to its text representation. -
items
: Array containing the values of each item in the correct order. -
throw_on_cancel
: Throws an error if the prompt is canceled, instead of returning anull
value. -
placeholder
: Placeholder string of the prompt. -
limit
: Limit the number of items rendered at once (useful to improve performance when displaying large lists).
Examples
// Suggester
<% tp.system.suggester(["Happy", "Sad", "Confused"], ["Happy", "Sad", "Confused"]) %>
// Suggester with mapping function (same as above example)
<% tp.system.suggester((item) => item, ["Happy", "Sad", "Confused"]) %>
// Suggester for files
[[<% (await tp.system.suggester((item) => item.basename, app.vault.getMarkdownFiles())).basename %>]]
// Suggester for tags
<% tp.system.suggester(item => item, Object.keys(app.metadataCache.getTags()).map(x => x.replace("#", ""))) %>
Examples
// Clipboard
<% tp.system.clipboard() %>
// Prompt
<% tp.system.prompt("Please enter a value") %>
// Prompt with default value
<% tp.system.prompt("What is your mood today?", "happy") %>
// Multiline prompt
<% tp.system.prompt("What is your mood today?", null, false, true) %>
// Suggester
<% tp.system.suggester(["Happy", "Sad", "Confused"], ["Happy", "Sad", "Confused"]) %>
// Suggester with mapping function (same as above example)
<% tp.system.suggester((item) => item, ["Happy", "Sad", "Confused"]) %>
// Suggester for files
[[<% (await tp.system.suggester((item) => item.basename, app.vault.getMarkdownFiles())).basename %>]]
// Suggester for tags
<% tp.system.suggester(item => item, Object.keys(app.metadataCache.getTags()).map(x => x.replace("#", ""))) %>