8fcc7741d2
Add in new refactor file and extract to page command Co-authored-by: Tristan Sokol <tristan@rightfoot.com>
430 lines
9.4 KiB
YAML
430 lines
9.4 KiB
YAML
name: core
|
|
imports:
|
|
- https://get.silverbullet.md/global.plug.json
|
|
syntax:
|
|
Hashtag:
|
|
firstCharacters:
|
|
- "#"
|
|
regex: "#[^#\\d\\s]+\\w+"
|
|
className: sb-hashtag
|
|
NakedURL:
|
|
firstCharacters:
|
|
- "h"
|
|
regex: "https?:\\/\\/[-a-zA-Z0-9@:%._\\+~#=]{1,256}([-a-zA-Z0-9()@:%_\\+.~#?&=\\/]*)"
|
|
className: sb-naked-url
|
|
NamedAnchor:
|
|
firstCharacters:
|
|
- "$"
|
|
regex: "\\$[a-zA-Z\\.\\-\\/]+[\\w\\.\\-\\/]*"
|
|
className: sb-named-anchor
|
|
functions:
|
|
setEditorMode:
|
|
path: "./editor.ts:setEditorMode"
|
|
events:
|
|
- editor:init
|
|
toggleVimMode:
|
|
path: "./editor.ts:toggleVimMode"
|
|
command:
|
|
name: "Editor: Toggle Vim Mode"
|
|
toggleDarkMode:
|
|
path: "./editor.ts:toggleDarkMode"
|
|
command:
|
|
name: "Editor: Toggle Dark Mode"
|
|
|
|
clearPageIndex:
|
|
path: "./page.ts:clearPageIndex"
|
|
env: server
|
|
events:
|
|
- page:saved
|
|
- page:deleted
|
|
pageQueryProvider:
|
|
path: ./page.ts:pageQueryProvider
|
|
events:
|
|
- query:page
|
|
parseIndexTextRepublish:
|
|
path: "./page.ts:parseIndexTextRepublish"
|
|
events:
|
|
- page:index_text
|
|
reindexSpaceCommand:
|
|
path: "./page.ts:reindexCommand"
|
|
command:
|
|
name: "Space: Reindex"
|
|
reindexSpace:
|
|
path: "./page.ts:reindexSpace"
|
|
env: server
|
|
deletePage:
|
|
path: "./page.ts:deletePage"
|
|
command:
|
|
name: "Page: Delete"
|
|
|
|
# Attachments
|
|
attachmentQueryProvider:
|
|
path: ./attachment.ts:attachmentQueryProvider
|
|
events:
|
|
- query:attachment
|
|
|
|
# Backlinks
|
|
indexLinks:
|
|
path: "./page.ts:indexLinks"
|
|
events:
|
|
- page:index
|
|
linkQueryProvider:
|
|
path: ./page.ts:linkQueryProvider
|
|
events:
|
|
- query:link
|
|
renamePage:
|
|
path: "./page.ts:renamePage"
|
|
command:
|
|
name: "Page: Rename"
|
|
mac: Cmd-Alt-r
|
|
key: Ctrl-Alt-r
|
|
page: ""
|
|
|
|
pageComplete:
|
|
path: "./page.ts:pageComplete"
|
|
events:
|
|
- editor:complete
|
|
|
|
# Commands
|
|
commandComplete:
|
|
path: "./command.ts:commandComplete"
|
|
events:
|
|
- editor:complete
|
|
|
|
# Item indexing
|
|
indexItem:
|
|
path: "./item.ts:indexItems"
|
|
events:
|
|
- page:index
|
|
itemQueryProvider:
|
|
path: "./item.ts:queryProvider"
|
|
events:
|
|
- query:item
|
|
|
|
# Navigation
|
|
linkNavigate:
|
|
path: "./navigate.ts:linkNavigate"
|
|
command:
|
|
name: Navigate To page
|
|
key: Ctrl-Enter
|
|
mac: Cmd-Enter
|
|
clickNavigate:
|
|
path: "./navigate.ts:clickNavigate"
|
|
events:
|
|
- page:click
|
|
navigateHome:
|
|
path: "./navigate.ts:navigateCommand"
|
|
command:
|
|
name: "Navigate: Home"
|
|
key: "Alt-h"
|
|
page: ""
|
|
|
|
# Hashtags
|
|
indexTags:
|
|
path: "./tags.ts:indexTags"
|
|
events:
|
|
- page:index
|
|
tagComplete:
|
|
path: "./tags.ts:tagComplete"
|
|
events:
|
|
- editor:complete
|
|
tagProvider:
|
|
path: "./tags.ts:tagProvider"
|
|
events:
|
|
- query:tag
|
|
|
|
# Anchors
|
|
indexAnchors:
|
|
path: "./anchor.ts:indexAnchors"
|
|
events:
|
|
- page:index
|
|
anchorComplete:
|
|
path: "./anchor.ts:anchorComplete"
|
|
events:
|
|
- editor:complete
|
|
|
|
# Full text search
|
|
searchIndex:
|
|
path: ./search.ts:pageIndex
|
|
events:
|
|
- page:index
|
|
searchUnindex:
|
|
path: "./search.ts:pageUnindex"
|
|
env: server
|
|
events:
|
|
- page:deleted
|
|
searchQueryProvider:
|
|
path: ./search.ts:queryProvider
|
|
events:
|
|
- query:full-text
|
|
searchCommand:
|
|
path: ./search.ts:searchCommand
|
|
command:
|
|
name: "Search Space"
|
|
key: Ctrl-Shift-f
|
|
mac: Cmd-Shift-f
|
|
readPageSearch:
|
|
path: ./search.ts:readFileSearch
|
|
env: server
|
|
pageNamespace:
|
|
pattern: "🔍 .+"
|
|
operation: readFile
|
|
getPageMetaSearch:
|
|
path: ./search.ts:getFileMetaSearch
|
|
env: server
|
|
pageNamespace:
|
|
pattern: "🔍 .+"
|
|
operation: getFileMeta
|
|
|
|
# Template commands
|
|
insertTemplateText:
|
|
path: "./template.ts:insertTemplateText"
|
|
applyLineReplace:
|
|
path: ./template.ts:applyLineReplace
|
|
insertFrontMatter:
|
|
redirect: insertTemplateText
|
|
slashCommand:
|
|
name: front-matter
|
|
description: Insert page front matter
|
|
value: |
|
|
---
|
|
|^|
|
|
---
|
|
makeH1:
|
|
redirect: applyLineReplace
|
|
slashCommand:
|
|
name: h1
|
|
description: Turn line into h1 header
|
|
match: "^#*\\s*"
|
|
replace: "# "
|
|
makeH2:
|
|
redirect: applyLineReplace
|
|
slashCommand:
|
|
name: h2
|
|
description: Turn line into h2 header
|
|
match: "^#*\\s*"
|
|
replace: "## "
|
|
makeH3:
|
|
redirect: applyLineReplace
|
|
slashCommand:
|
|
name: h3
|
|
description: Turn line into h3 header
|
|
match: "^#*\\s*"
|
|
replace: "### "
|
|
makeH4:
|
|
redirect: applyLineReplace
|
|
slashCommand:
|
|
name: h4
|
|
description: Turn line into h4 header
|
|
match: "^#*\\s*"
|
|
replace: "#### "
|
|
|
|
newPage:
|
|
path: ./page.ts:newPageCommand
|
|
command:
|
|
name: "Page: New"
|
|
key: "Alt-Shift-n"
|
|
|
|
insertHRTemplate:
|
|
redirect: insertTemplateText
|
|
slashCommand:
|
|
name: hr
|
|
description: Insert a horizontal rule
|
|
value: "---"
|
|
insertTable:
|
|
redirect: insertTemplateText
|
|
slashCommand:
|
|
name: table
|
|
description: Insert a table
|
|
boost: -1 # Low boost because it's likely not very commonly used
|
|
value: |
|
|
| Header A | Header B |
|
|
|----------|----------|
|
|
| Cell A|^| | Cell B |
|
|
quickNoteCommand:
|
|
path: ./template.ts:quickNoteCommand
|
|
command:
|
|
name: "Quick Note"
|
|
key: "Alt-Shift-n"
|
|
priority: 1
|
|
dailyNoteCommand:
|
|
path: ./template.ts:dailyNoteCommand
|
|
command:
|
|
name: "Open Daily Note"
|
|
key: "Alt-Shift-d"
|
|
weeklyNoteCommand:
|
|
path: ./template.ts:weeklyNoteCommand
|
|
command:
|
|
name: "Open Weekly Note"
|
|
key: "Alt-Shift-w"
|
|
|
|
instantiateTemplateCommand:
|
|
path: ./template.ts:instantiateTemplateCommand
|
|
command:
|
|
name: "Template: Instantiate Page"
|
|
insertSnippet:
|
|
path: ./template.ts:insertSnippet
|
|
command:
|
|
name: "Template: Insert Snippet"
|
|
slashCommand:
|
|
name: snippet
|
|
description: Insert a snippet
|
|
insertTodayCommand:
|
|
path: "./template.ts:insertTemplateText"
|
|
slashCommand:
|
|
name: today
|
|
description: Insert today's date
|
|
value: "{{today}}"
|
|
insertTomorrowCommand:
|
|
path: "./template.ts:insertTemplateText"
|
|
slashCommand:
|
|
name: tomorrow
|
|
description: Insert tomorrow's date
|
|
value: "{{tomorrow}}"
|
|
|
|
# Text editing commands
|
|
quoteSelectionCommand:
|
|
path: ./text.ts:quoteSelection
|
|
command:
|
|
name: "Text: Quote Selection"
|
|
key: "Ctrl-Shift-."
|
|
mac: "Cmd-Shift-."
|
|
listifySelection:
|
|
path: ./text.ts:listifySelection
|
|
command:
|
|
name: "Text: Listify Selection"
|
|
numberListifySelection:
|
|
path: ./text.ts:numberListifySelection
|
|
command:
|
|
name: "Text: Number Listify Selection"
|
|
linkSelection:
|
|
path: ./text.ts:linkSelection
|
|
command:
|
|
name: "Text: Link Selection"
|
|
key: "Ctrl-Shift-k"
|
|
mac: "Cmd-Shift-k"
|
|
bold:
|
|
path: ./text.ts:wrapSelection
|
|
command:
|
|
name: "Text: Bold"
|
|
key: "Ctrl-b"
|
|
mac: "Cmd-b"
|
|
wrapper: "**"
|
|
italic:
|
|
path: ./text.ts:wrapSelection
|
|
command:
|
|
name: "Text: Italic"
|
|
key: "Ctrl-i"
|
|
mac: "Cmd-i"
|
|
wrapper: "_"
|
|
strikethrough:
|
|
path: ./text.ts:wrapSelection
|
|
command:
|
|
name: "Text: Strikethrough"
|
|
key: "Ctrl-Shift-s"
|
|
mac: "Cmd-Shift-s"
|
|
wrapper: "~~"
|
|
marker:
|
|
path: ./text.ts:wrapSelection
|
|
command:
|
|
name: "Text: Marker"
|
|
key: "Alt-m"
|
|
wrapper: "=="
|
|
|
|
# Refactoring Commands
|
|
extractToPageCommand:
|
|
path: ./refactor.ts:extractToPage
|
|
command:
|
|
name: "Extract text to new page"
|
|
|
|
# Plug manager
|
|
updatePlugsCommand:
|
|
path: ./plugmanager.ts:updatePlugsCommand
|
|
command:
|
|
name: "Plugs: Update"
|
|
key: "Ctrl-Shift-p"
|
|
mac: "Cmd-Shift-p"
|
|
updatePlugs:
|
|
path: ./plugmanager.ts:updatePlugs
|
|
env: server
|
|
getPlugHTTPS:
|
|
path: "./plugmanager.ts:getPlugHTTPS"
|
|
events:
|
|
- get-plug:https
|
|
getPlugGithub:
|
|
path: "./plugmanager.ts:getPlugGithub"
|
|
events:
|
|
- get-plug:github
|
|
getPlugGithubRelease:
|
|
path: "./plugmanager.ts:getPlugGithubRelease"
|
|
events:
|
|
- get-plug:ghr
|
|
addPlugCommand:
|
|
path: ./plugmanager.ts:addPlugCommand
|
|
command:
|
|
name: "Plugs: Add"
|
|
|
|
# Debug commands
|
|
parseCommand:
|
|
path: ./debug.ts:parsePageCommand
|
|
command:
|
|
name: "Debug: Parse Document"
|
|
showLogsCommand:
|
|
path: ./debug.ts:showLogsCommand
|
|
command:
|
|
name: "Debug: Show Logs"
|
|
key: "Ctrl-Alt-l"
|
|
mac: "Cmd-Alt-l"
|
|
events:
|
|
- log:reload
|
|
hideBhsCommand:
|
|
path: ./debug.ts:hideBhsCommand
|
|
command:
|
|
name: "UI: Hide BHS"
|
|
key: "Ctrl-Alt-b"
|
|
mac: "Cmd-Alt-b"
|
|
|
|
# Link unfurl infrastructure
|
|
unfurlLink:
|
|
path: ./link.ts:unfurlCommand
|
|
command:
|
|
name: "Link: Unfurl"
|
|
key: "Ctrl-Shift-u"
|
|
mac: "Cmd-Shift-u"
|
|
contexts:
|
|
- NakedURL
|
|
unfurlExec:
|
|
env: server
|
|
path: ./link.ts:unfurlExec
|
|
|
|
# Title-based link unfurl
|
|
titleUnfurlOptions:
|
|
path: ./link.ts:titleUnfurlOptions
|
|
events:
|
|
- unfurl:options
|
|
titleUnfurl:
|
|
path: ./link.ts:titleUnfurl
|
|
events:
|
|
- unfurl:title-unfurl
|
|
|
|
# Random stuff
|
|
statsCommand:
|
|
path: ./stats.ts:statsCommand
|
|
command:
|
|
name: "Stats: Show"
|
|
key: "Shift-Alt-s"
|
|
|
|
# Cloud pages
|
|
readPageCloud:
|
|
path: ./cloud.ts:readFileCloud
|
|
env: server
|
|
pageNamespace:
|
|
pattern: "💭 .+"
|
|
operation: readFile
|
|
getPageMetaCloud:
|
|
path: ./cloud.ts:getFileMetaCloud
|
|
env: server
|
|
pageNamespace:
|
|
pattern: "💭 .+"
|
|
operation: getFileMeta
|