Files
tiptap/docs/src/demos/Examples/Savvy/SmilieReplacer.ts

135 lines
5.0 KiB
TypeScript

import { Extension } from '@tiptap/core'
import { InputRule } from 'prosemirror-inputrules'
export const SmilieReplacer = Extension.create({
name: 'smilieReplacer',
addInputRules() {
return [
new InputRule(/-___- $/, '😑 '),
new InputRule(/:'-\) $/, '😂 '),
new InputRule(/':-\) $/, '😅 '),
new InputRule(/':-D $/, '😅 '),
new InputRule(/>:-\) $/, '😆 '),
new InputRule(/-__- $/, '😑 '),
new InputRule(/':-\( $/, '😓 '),
new InputRule(/:'-\( $/, '😢 '),
new InputRule(/>:-\( $/, '😠 '),
new InputRule(/O:-\) $/, '😇 '),
new InputRule(/0:-3 $/, '😇 '),
new InputRule(/0:-\) $/, '😇 '),
new InputRule(/0;\^\) $/, '😇 '),
new InputRule(/O;-\) $/, '😇 '),
new InputRule(/0;-\) $/, '😇 '),
new InputRule(/O:-3 $/, '😇 '),
new InputRule(/:'\) $/, '😂 '),
new InputRule(/:-D $/, '😃 '),
new InputRule(/':\) $/, '😅 '),
new InputRule(/'=\) $/, '😅 '),
new InputRule(/':D $/, '😅 '),
new InputRule(/'=D $/, '😅 '),
new InputRule(/>:\) $/, '😆 '),
new InputRule(/>;\) $/, '😆 '),
new InputRule(/>=\) $/, '😆 '),
new InputRule(/;-\) $/, '😉 '),
new InputRule(/\*-\) $/, '😉 '),
new InputRule(/;-\] $/, '😉 '),
new InputRule(/;\^\) $/, '😉 '),
new InputRule(/B-\) $/, '😎 '),
new InputRule(/8-\) $/, '😎 '),
new InputRule(/B-D $/, '😎 '),
new InputRule(/8-D $/, '😎 '),
new InputRule(/:-\* $/, '😘 '),
new InputRule(/:\^\* $/, '😘 '),
new InputRule(/:-\) $/, '🙂 '),
new InputRule(/-_- $/, '😑 '),
new InputRule(/:-X $/, '😶 '),
new InputRule(/:-# $/, '😶 '),
new InputRule(/:-x $/, '😶 '),
new InputRule(/>.< $/, '😣 '),
new InputRule(/:-O $/, '😮 '),
new InputRule(/:-o $/, '😮 '),
new InputRule(/O_O $/, '😮 '),
new InputRule(/>:O $/, '😮 '),
new InputRule(/:-P $/, '😛 '),
new InputRule(/:-p $/, '😛 '),
new InputRule(/:-Þ $/, '😛 '),
new InputRule(/:-þ $/, '😛 '),
new InputRule(/:-b $/, '😛 '),
new InputRule(/>:P $/, '😜 '),
new InputRule(/X-P $/, '😜 '),
new InputRule(/x-p $/, '😜 '),
new InputRule(/':\( $/, '😓 '),
new InputRule(/'=\( $/, '😓 '),
new InputRule(/>:\\ $/, '😕 '),
new InputRule(/>:\/ $/, '😕 '),
new InputRule(/:-\/ $/, '😕 '),
new InputRule(/:-. $/, '😕 '),
new InputRule(/>:\[ $/, '😞 '),
new InputRule(/:-\( $/, '😞 '),
new InputRule(/:-\[ $/, '😞 '),
new InputRule(/:'\( $/, '😢 '),
new InputRule(/;-\( $/, '😢 '),
new InputRule(/#-\) $/, '😵 '),
new InputRule(/%-\) $/, '😵 '),
new InputRule(/X-\) $/, '😵 '),
new InputRule(/>:\( $/, '😠 '),
new InputRule(/0:3 $/, '😇 '),
new InputRule(/0:\) $/, '😇 '),
new InputRule(/O:\) $/, '😇 '),
new InputRule(/O=\) $/, '😇 '),
new InputRule(/O:3 $/, '😇 '),
new InputRule(/<\/3 $/, '💔 '),
new InputRule(/:D $/, '😃 '),
new InputRule(/=D $/, '😃 '),
new InputRule(/;\) $/, '😉 '),
new InputRule(/\*\) $/, '😉 '),
new InputRule(/;\] $/, '😉 '),
new InputRule(/;D $/, '😉 '),
new InputRule(/B\) $/, '😎 '),
new InputRule(/8\) $/, '😎 '),
new InputRule(/:\* $/, '😘 '),
new InputRule(/=\* $/, '😘 '),
new InputRule(/:\) $/, '🙂 '),
new InputRule(/=\] $/, '🙂 '),
new InputRule(/=\) $/, '🙂 '),
new InputRule(/:\] $/, '🙂 '),
new InputRule(/:X $/, '😶 '),
new InputRule(/:# $/, '😶 '),
new InputRule(/=X $/, '😶 '),
new InputRule(/=x $/, '😶 '),
new InputRule(/:x $/, '😶 '),
new InputRule(/=# $/, '😶 '),
new InputRule(/:O $/, '😮 '),
new InputRule(/:o $/, '😮 '),
new InputRule(/:P $/, '😛 '),
new InputRule(/=P $/, '😛 '),
new InputRule(/:p $/, '😛 '),
new InputRule(/=p $/, '😛 '),
new InputRule(/:Þ $/, '😛 '),
new InputRule(/:þ $/, '😛 '),
new InputRule(/:b $/, '😛 '),
new InputRule(/d: $/, '😛 '),
new InputRule(/:\/ $/, '😕 '),
new InputRule(/:\\ $/, '😕 '),
new InputRule(/=\/ $/, '😕 '),
new InputRule(/=\\ $/, '😕 '),
new InputRule(/:L $/, '😕 '),
new InputRule(/=L $/, '😕 '),
new InputRule(/:\( $/, '😞 '),
new InputRule(/:\[ $/, '😞 '),
new InputRule(/=\( $/, '😞 '),
new InputRule(/;\( $/, '😢 '),
new InputRule(/D: $/, '😨 '),
new InputRule(/:\$ $/, '😳 '),
new InputRule(/=\$ $/, '😳 '),
new InputRule(/#\) $/, '😵 '),
new InputRule(/%\) $/, '😵 '),
new InputRule(/X\) $/, '😵 '),
new InputRule(/:@ $/, '😠 '),
new InputRule(/<3 $/, '❤️ '),
new InputRule(/\/shrug $/, '¯\\_(ツ)_/¯'),
]
},
})