feat: add selectTextblockStart and selectTextblockEnd commands

This commit is contained in:
Philipp Kühn
2022-01-25 10:35:39 +01:00
parent a20e887458
commit 0aa39f93cb
7 changed files with 64 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
# selectTextblockEnd
:::warning
Oops, we didnt find time to fill this page. Writing documentation needs attention to detail, a great understanding of the project and time to write. Though Tiptap is used by thousands of developers all around the world, its still a side project for us. Lets change that and make open source our full-time job! [Become a sponsor!](https://github.com/sponsors/ueberdosis)
:::

View File

@@ -0,0 +1,5 @@
# selectTextblockStart
:::warning
Oops, we didnt find time to fill this page. Writing documentation needs attention to detail, a great understanding of the project and time to write. Though Tiptap is used by thousands of developers all around the world, its still a side project for us. Lets change that and make open source our full-time job! [Become a sponsor!](https://github.com/sponsors/ueberdosis)
:::

View File

@@ -223,6 +223,12 @@
- title: selectParentNode
link: /api/commands/select-parent-node
type: draft
- title: selectTextblockEnd
link: /api/commands/select-textblock-end
type: draft
- title: selectTextblockStart
link: /api/commands/select-textblock-start
type: draft
- title: setContent
link: /api/commands/set-content
- title: setMark

View File

@@ -0,0 +1,19 @@
// @ts-ignore
// TODO: add types to @types/prosemirror-commands
import { selectTextblockEnd as originalSelectTextblockEnd } from 'prosemirror-commands'
import { RawCommands } from '../types'
declare module '@tiptap/core' {
interface Commands<ReturnType> {
selectTextblockEnd: {
/**
* Moves the cursor to the end of current text block.
*/
selectTextblockEnd: () => ReturnType,
}
}
}
export const selectTextblockEnd: RawCommands['selectTextblockEnd'] = () => ({ state, dispatch }) => {
return originalSelectTextblockEnd(state, dispatch)
}

View File

@@ -0,0 +1,19 @@
// @ts-ignore
// TODO: add types to @types/prosemirror-commands
import { selectTextblockStart as originalSelectTextblockStart } from 'prosemirror-commands'
import { RawCommands } from '../types'
declare module '@tiptap/core' {
interface Commands<ReturnType> {
selectTextblockStart: {
/**
* Moves the cursor to the start of current text block.
*/
selectTextblockStart: () => ReturnType,
}
}
}
export const selectTextblockStart: RawCommands['selectTextblockStart'] = () => ({ state, dispatch }) => {
return originalSelectTextblockStart(state, dispatch)
}

View File

@@ -28,6 +28,8 @@ import * as selectAll from '../commands/selectAll'
import * as selectNodeBackward from '../commands/selectNodeBackward'
import * as selectNodeForward from '../commands/selectNodeForward'
import * as selectParentNode from '../commands/selectParentNode'
import * as selectTextblockEnd from '../commands/selectTextblockEnd'
import * as selectTextblockStart from '../commands/selectTextblockStart'
import * as setContent from '../commands/setContent'
import * as setMark from '../commands/setMark'
import * as setMeta from '../commands/setMeta'
@@ -77,6 +79,8 @@ export { selectAll }
export { selectNodeBackward }
export { selectNodeForward }
export { selectParentNode }
export { selectTextblockEnd }
export { selectTextblockStart }
export { setContent }
export { setMark }
export { setMeta }
@@ -131,6 +135,8 @@ export const Commands = Extension.create({
...selectNodeBackward,
...selectNodeForward,
...selectParentNode,
...selectTextblockEnd,
...selectTextblockStart,
...setContent,
...setMark,
...setMeta,

View File

@@ -52,6 +52,10 @@ export const Keymap = Extension.create({
Delete: handleDelete,
'Mod-Delete': handleDelete,
'Mod-a': () => this.editor.commands.selectAll(),
'Ctrl-a': () => this.editor.commands.selectTextblockStart(),
'Ctrl-e': () => this.editor.commands.selectTextblockEnd(),
Home: () => this.editor.commands.selectTextblockStart(),
End: () => this.editor.commands.selectTextblockStart(),
}
},