aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--.gitmodules3
-rw-r--r--CHANGELOG9
-rw-r--r--CREDITS2
-rw-r--r--Makefile181
-rw-r--r--README206
-rw-r--r--README.md28
-rw-r--r--completion/bash-completion.sh26
-rw-r--r--completion/fish-completion.fish48
-rwxr-xr-xconfigure364
l---------dev/bin/ponysay1
l---------dev/lib/ponysay/linklist.pl1
l---------dev/lib/ponysay/list.pl1
l---------dev/lib/ponysay/pq4ps1
l---------dev/lib/ponysay/pq4ps-list.pl1
l---------dev/lib/ponysay/pq4ps.pl1
l---------dev/share/ponysay/ponies1
l---------dev/share/ponysay/quotes1
l---------dev/share/ponysay/ttyponies1
-rwxr-xr-xlinklist.pl35
-rwxr-xr-xlist.pl41
-rw-r--r--manuals/manpage.63
-rw-r--r--manuals/manpage.es.63
-rw-r--r--manuals/ponysay.texinfo270
-rw-r--r--manuals/ponysay_front.xcfbin1008102 -> 1002456 bytes
-rw-r--r--ponyquotes/applebloom.0 (renamed from quotes/applebloom.0)0
-rw-r--r--ponyquotes/applebloom.1 (renamed from quotes/applebloom.1)0
-rw-r--r--ponyquotes/applebloom.2 (renamed from quotes/applebloom.2)0
-rw-r--r--ponyquotes/applebloom.3 (renamed from quotes/applebloom.3)0
-rw-r--r--ponyquotes/applebloom.4 (renamed from quotes/applebloom.4)0
-rw-r--r--ponyquotes/applebloom.5 (renamed from quotes/applebloom.5)0
-rw-r--r--ponyquotes/applebloom.6 (renamed from quotes/applebloom.6)0
-rw-r--r--ponyquotes/applebloom.7 (renamed from quotes/applebloom.7)0
-rw-r--r--ponyquotes/applebloom.8 (renamed from quotes/applebloom.8)0
-rw-r--r--ponyquotes/applejack.0 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.0)0
-rw-r--r--ponyquotes/applejack.1 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.1)0
-rw-r--r--ponyquotes/applejack.2 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.2)0
-rw-r--r--ponyquotes/applejack.3 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.3)0
-rw-r--r--ponyquotes/applejack.4 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.4)0
-rw-r--r--ponyquotes/applejack.5 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.5)0
-rw-r--r--ponyquotes/applejack.6 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.6)0
-rw-r--r--ponyquotes/applejack.7 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.7)0
-rw-r--r--ponyquotes/applejack.8 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.8)0
-rw-r--r--ponyquotes/applejack.9 (renamed from quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.9)0
-rw-r--r--ponyquotes/bigmac.0 (renamed from quotes/bigmac.0)0
-rw-r--r--ponyquotes/bigmac.1 (renamed from quotes/bigmac.1)0
-rw-r--r--ponyquotes/bigmac.2 (renamed from quotes/bigmac.2)0
-rw-r--r--ponyquotes/bigmac.3 (renamed from quotes/bigmac.3)0
-rw-r--r--ponyquotes/bigmac.4 (renamed from quotes/bigmac.4)0
-rw-r--r--ponyquotes/bonbon.0 (renamed from quotes/bonbon+bonbonstand.0)0
-rw-r--r--ponyquotes/bonbon.1 (renamed from quotes/bonbon+bonbonstand.1)0
-rw-r--r--ponyquotes/braeburn.0 (renamed from quotes/braeburn.0)0
-rw-r--r--ponyquotes/braeburn.1 (renamed from quotes/braeburn.1)0
-rw-r--r--ponyquotes/braeburn.2 (renamed from quotes/braeburn.2)0
-rw-r--r--ponyquotes/carrot.0 (renamed from quotes/carrot+carrottop+goldenharvest.0)0
-rw-r--r--ponyquotes/carrot.1 (renamed from quotes/carrot+carrottop+goldenharvest.1)0
-rw-r--r--ponyquotes/celestia.0 (renamed from quotes/celestia+fillistia+fillycelestia+celestiasmall.0)0
-rw-r--r--ponyquotes/celestia.1 (renamed from quotes/celestia+fillistia+fillycelestia+celestiasmall.1)0
-rw-r--r--ponyquotes/celestia.2 (renamed from quotes/celestia+fillistia+fillycelestia+celestiasmall.2)0
-rw-r--r--ponyquotes/celestia.3 (renamed from quotes/celestia+fillistia+fillycelestia+celestiasmall.3)0
-rw-r--r--ponyquotes/celestia.4 (renamed from quotes/celestia+fillistia+fillycelestia+celestiasmall.4)0
-rw-r--r--ponyquotes/cheerilee.0 (renamed from quotes/cheerilee+cheerilee80.0)0
-rw-r--r--ponyquotes/cheerilee.1 (renamed from quotes/cheerilee+cheerilee80.1)0
-rw-r--r--ponyquotes/derpy.0 (renamed from quotes/derpy+derpysit+derpystand+derpystandwing.0)0
-rw-r--r--ponyquotes/derpy.1 (renamed from quotes/derpy+derpysit+derpystand+derpystandwing.1)0
-rw-r--r--ponyquotes/derpy.2 (renamed from quotes/derpy+derpysit+derpystand+derpystandwing.2)0
-rw-r--r--ponyquotes/derpy.3 (renamed from quotes/derpy+derpysit+derpystand+derpystandwing.3)0
-rw-r--r--ponyquotes/derpy.4 (renamed from quotes/derpy+derpysit+derpystand+derpystandwing.4)0
-rw-r--r--ponyquotes/diamondtiara.0 (renamed from quotes/diamondtiara.0)0
-rw-r--r--ponyquotes/discord.0 (renamed from quotes/discord+discordpuppetmaster+discordamused.0)0
-rw-r--r--ponyquotes/doctor.0 (renamed from quotes/doctor+doctornohat+timeturner.0)0
-rw-r--r--ponyquotes/fancypants.0 (renamed from quotes/fancypants.0)0
-rw-r--r--ponyquotes/fluttershy.0 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.0)0
-rw-r--r--ponyquotes/fluttershy.1 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.1)0
-rw-r--r--ponyquotes/fluttershy.10 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.10)0
-rw-r--r--ponyquotes/fluttershy.11 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.11)0
-rw-r--r--ponyquotes/fluttershy.12 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.12)0
-rw-r--r--ponyquotes/fluttershy.13 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.13)0
-rw-r--r--ponyquotes/fluttershy.14 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.14)0
-rw-r--r--ponyquotes/fluttershy.15 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.15)0
-rw-r--r--ponyquotes/fluttershy.16 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.16)0
-rw-r--r--ponyquotes/fluttershy.17 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.17)0
-rw-r--r--ponyquotes/fluttershy.18 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.18)0
-rw-r--r--ponyquotes/fluttershy.19 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.19)0
-rw-r--r--ponyquotes/fluttershy.2 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.2)0
-rw-r--r--ponyquotes/fluttershy.20 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.20)0
-rw-r--r--ponyquotes/fluttershy.21 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.21)0
-rw-r--r--ponyquotes/fluttershy.22 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.22)0
-rw-r--r--ponyquotes/fluttershy.23 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.23)0
-rw-r--r--ponyquotes/fluttershy.24 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.24)0
-rw-r--r--ponyquotes/fluttershy.25 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.25)0
-rw-r--r--ponyquotes/fluttershy.26 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.26)0
-rw-r--r--ponyquotes/fluttershy.27 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.27)0
-rw-r--r--ponyquotes/fluttershy.28 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.28)0
-rw-r--r--ponyquotes/fluttershy.29 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.29)0
-rw-r--r--ponyquotes/fluttershy.3 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.3)0
-rw-r--r--ponyquotes/fluttershy.30 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.30)0
-rw-r--r--ponyquotes/fluttershy.31 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.31)0
-rw-r--r--ponyquotes/fluttershy.4 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.4)0
-rw-r--r--ponyquotes/fluttershy.5 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.5)0
-rw-r--r--ponyquotes/fluttershy.6 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.6)0
-rw-r--r--ponyquotes/fluttershy.7 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.7)0
-rw-r--r--ponyquotes/fluttershy.8 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.8)0
-rw-r--r--ponyquotes/fluttershy.9 (renamed from quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.9)0
-rw-r--r--ponyquotes/gilda.0 (renamed from quotes/gilda+gildastand.0)0
-rw-r--r--ponyquotes/gilda.1 (renamed from quotes/gilda+gildastand.1)0
-rw-r--r--ponyquotes/gilda.2 (renamed from quotes/gilda+gildastand.2)0
-rw-r--r--ponyquotes/gilda.3 (renamed from quotes/gilda+gildastand.3)0
-rw-r--r--ponyquotes/gilda.4 (renamed from quotes/gilda+gildastand.4)0
-rw-r--r--ponyquotes/gilda.5 (renamed from quotes/gilda+gildastand.5)0
-rw-r--r--ponyquotes/granny.0 (renamed from quotes/granny+grannychair+grannysleep.0)0
-rw-r--r--ponyquotes/ironwill.01
-rw-r--r--ponyquotes/ironwill.11
-rw-r--r--ponyquotes/ironwill.21
-rw-r--r--ponyquotes/ironwill.31
-rw-r--r--ponyquotes/ironwill.41
-rw-r--r--ponyquotes/ironwill.51
-rw-r--r--ponyquotes/ironwill.61
-rw-r--r--ponyquotes/ironwill.71
-rw-r--r--ponyquotes/lily.0 (renamed from quotes/lily.0)0
-rw-r--r--ponyquotes/lily.1 (renamed from quotes/lily.1)0
-rw-r--r--ponyquotes/luna.0 (renamed from quotes/luna+lunafly.0)0
-rw-r--r--ponyquotes/luna.1 (renamed from quotes/luna+lunafly.1)0
-rw-r--r--ponyquotes/luna.2 (renamed from quotes/luna+lunafly.2)0
-rw-r--r--ponyquotes/luna.3 (renamed from quotes/luna+lunafly.3)0
-rw-r--r--ponyquotes/luna.4 (renamed from quotes/luna+lunafly.4)0
-rw-r--r--ponyquotes/luna.5 (renamed from quotes/luna+lunafly.5)0
-rw-r--r--ponyquotes/luna.6 (renamed from quotes/luna+lunafly.6)0
-rw-r--r--ponyquotes/nightmare.0 (renamed from quotes/nightmare.0)0
-rw-r--r--ponyquotes/nightmare.1 (renamed from quotes/nightmare.1)0
-rw-r--r--ponyquotes/nightmare.2 (renamed from quotes/nightmare.2)0
-rw-r--r--ponyquotes/nightmare.3 (renamed from quotes/nightmare.3)0
-rw-r--r--ponyquotes/nightmare.4 (renamed from quotes/nightmare.4)0
-rw-r--r--ponyquotes/nightmare.5 (renamed from quotes/nightmare.5)0
-rw-r--r--ponyquotes/photofinish.0 (renamed from quotes/photofinish.0)0
-rw-r--r--ponyquotes/photofinish.1 (renamed from quotes/photofinish.1)0
-rw-r--r--ponyquotes/photofinish.2 (renamed from quotes/photofinish.2)0
-rw-r--r--ponyquotes/photofinish.3 (renamed from quotes/photofinish.3)0
-rw-r--r--ponyquotes/photofinish.4 (renamed from quotes/photofinish.4)0
-rw-r--r--ponyquotes/pinkie.0 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.0)0
-rw-r--r--ponyquotes/pinkie.1 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.1)0
-rw-r--r--ponyquotes/pinkie.10 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.10)0
-rw-r--r--ponyquotes/pinkie.11 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.11)0
-rw-r--r--ponyquotes/pinkie.12 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.12)0
-rw-r--r--ponyquotes/pinkie.13 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.13)0
-rw-r--r--ponyquotes/pinkie.14 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.14)0
-rw-r--r--ponyquotes/pinkie.15 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.15)0
-rw-r--r--ponyquotes/pinkie.16 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.16)0
-rw-r--r--ponyquotes/pinkie.17 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.17)0
-rw-r--r--ponyquotes/pinkie.18 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.18)0
-rw-r--r--ponyquotes/pinkie.19 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.19)0
-rw-r--r--ponyquotes/pinkie.2 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.2)0
-rw-r--r--ponyquotes/pinkie.20 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.20)0
-rw-r--r--ponyquotes/pinkie.21 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.21)0
-rw-r--r--ponyquotes/pinkie.22 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.22)0
-rw-r--r--ponyquotes/pinkie.23 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.23)0
-rw-r--r--ponyquotes/pinkie.24 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.24)0
-rw-r--r--ponyquotes/pinkie.25 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.25)0
-rw-r--r--ponyquotes/pinkie.26 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.26)0
-rw-r--r--ponyquotes/pinkie.27 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.27)0
-rw-r--r--ponyquotes/pinkie.28 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.28)0
-rw-r--r--ponyquotes/pinkie.29 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.29)0
-rw-r--r--ponyquotes/pinkie.3 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.3)0
-rw-r--r--ponyquotes/pinkie.30 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.30)0
-rw-r--r--ponyquotes/pinkie.31 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.31)0
-rw-r--r--ponyquotes/pinkie.32 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.32)0
-rw-r--r--ponyquotes/pinkie.33 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.33)0
-rw-r--r--ponyquotes/pinkie.34 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.34)0
-rw-r--r--ponyquotes/pinkie.35 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.35)0
-rw-r--r--ponyquotes/pinkie.36 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.36)0
-rw-r--r--ponyquotes/pinkie.4 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.4)0
-rw-r--r--ponyquotes/pinkie.5 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.5)0
-rw-r--r--ponyquotes/pinkie.6 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.6)0
-rw-r--r--ponyquotes/pinkie.7 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.7)0
-rw-r--r--ponyquotes/pinkie.8 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.8)0
-rw-r--r--ponyquotes/pinkie.9 (renamed from quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.9)0
-rw-r--r--ponyquotes/pipsqueak.0 (renamed from quotes/pipsqueak.0)0
-rw-r--r--ponyquotes/pipsqueak.1 (renamed from quotes/pipsqueak.1)0
-rw-r--r--ponyquotes/pipsqueak.2 (renamed from quotes/pipsqueak.2)0
-rw-r--r--ponyquotes/ponies130
-rw-r--r--ponyquotes/rainbow.0 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.0)0
-rw-r--r--ponyquotes/rainbow.1 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.1)0
-rw-r--r--ponyquotes/rainbow.10 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.10)0
-rw-r--r--ponyquotes/rainbow.11 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.11)0
-rw-r--r--ponyquotes/rainbow.12 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.12)0
-rw-r--r--ponyquotes/rainbow.13 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.13)0
-rw-r--r--ponyquotes/rainbow.14 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.14)0
-rw-r--r--ponyquotes/rainbow.15 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.15)0
-rw-r--r--ponyquotes/rainbow.16 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.16)0
-rw-r--r--ponyquotes/rainbow.17 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.17)0
-rw-r--r--ponyquotes/rainbow.18 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.18)0
-rw-r--r--ponyquotes/rainbow.19 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.19)0
-rw-r--r--ponyquotes/rainbow.2 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.2)0
-rw-r--r--ponyquotes/rainbow.20 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.20)0
-rw-r--r--ponyquotes/rainbow.21 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.21)0
-rw-r--r--ponyquotes/rainbow.3 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.3)0
-rw-r--r--ponyquotes/rainbow.4 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.4)0
-rw-r--r--ponyquotes/rainbow.5 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.5)0
-rw-r--r--ponyquotes/rainbow.6 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.6)0
-rw-r--r--ponyquotes/rainbow.7 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.7)0
-rw-r--r--ponyquotes/rainbow.8 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.8)0
-rw-r--r--ponyquotes/rainbow.9 (renamed from quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.9)0
-rw-r--r--ponyquotes/rarity.0 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.0)0
-rw-r--r--ponyquotes/rarity.1 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.1)0
-rw-r--r--ponyquotes/rarity.10 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.10)0
-rw-r--r--ponyquotes/rarity.11 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.11)0
-rw-r--r--ponyquotes/rarity.12 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.12)0
-rw-r--r--ponyquotes/rarity.13 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.13)0
-rw-r--r--ponyquotes/rarity.14 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.14)0
-rw-r--r--ponyquotes/rarity.15 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.15)0
-rw-r--r--ponyquotes/rarity.16 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.16)0
-rw-r--r--ponyquotes/rarity.17 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.17)0
-rw-r--r--ponyquotes/rarity.18 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.18)0
-rw-r--r--ponyquotes/rarity.19 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.19)0
-rw-r--r--ponyquotes/rarity.2 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.2)0
-rw-r--r--ponyquotes/rarity.20 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.20)0
-rw-r--r--ponyquotes/rarity.21 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.21)0
-rw-r--r--ponyquotes/rarity.22 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.22)0
-rw-r--r--ponyquotes/rarity.23 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.23)0
-rw-r--r--ponyquotes/rarity.24 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.24)0
-rw-r--r--ponyquotes/rarity.25 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.25)0
-rw-r--r--ponyquotes/rarity.3 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.3)0
-rw-r--r--ponyquotes/rarity.4 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.4)0
-rw-r--r--ponyquotes/rarity.5 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.5)0
-rw-r--r--ponyquotes/rarity.6 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.6)0
-rw-r--r--ponyquotes/rarity.7 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.7)0
-rw-r--r--ponyquotes/rarity.8 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.8)0
-rw-r--r--ponyquotes/rarity.9 (renamed from quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.9)0
-rw-r--r--ponyquotes/rose.0 (renamed from quotes/rose+roseluck.0)0
-rw-r--r--ponyquotes/rose.1 (renamed from quotes/rose+roseluck.1)0
-rw-r--r--ponyquotes/sapphire.0 (renamed from quotes/sapphire.0)0
-rw-r--r--ponyquotes/scootaloo.0 (renamed from quotes/scootaloo.0)0
-rw-r--r--ponyquotes/scootaloo.1 (renamed from quotes/scootaloo.1)0
-rw-r--r--ponyquotes/scootaloo.2 (renamed from quotes/scootaloo.2)0
-rw-r--r--ponyquotes/scootaloo.3 (renamed from quotes/scootaloo.3)0
-rw-r--r--ponyquotes/scootaloo.4 (renamed from quotes/scootaloo.4)0
-rw-r--r--ponyquotes/scootaloo.5 (renamed from quotes/scootaloo.5)0
-rw-r--r--ponyquotes/scootaloo.6 (renamed from quotes/scootaloo.6)0
-rw-r--r--ponyquotes/scootaloo.7 (renamed from quotes/scootaloo.7)0
-rw-r--r--ponyquotes/silverspoon.0 (renamed from quotes/silverspoon.0)0
-rw-r--r--ponyquotes/soarin.0 (renamed from quotes/soarin.0)0
-rw-r--r--ponyquotes/soarin.1 (renamed from quotes/soarin.1)0
-rw-r--r--ponyquotes/soarin.2 (renamed from quotes/soarin.2)0
-rw-r--r--ponyquotes/spike.0 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.0)0
-rw-r--r--ponyquotes/spike.1 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.1)0
-rw-r--r--ponyquotes/spike.2 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.2)0
-rw-r--r--ponyquotes/spike.3 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.3)0
-rw-r--r--ponyquotes/spike.4 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.4)0
-rw-r--r--ponyquotes/spike.5 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.5)0
-rw-r--r--ponyquotes/spike.6 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.6)0
-rw-r--r--ponyquotes/spike.7 (renamed from quotes/spike+spikefloat+spikelove+spikemustache.7)0
-rw-r--r--ponyquotes/spitfire.0 (renamed from quotes/spitfire.0)0
-rw-r--r--ponyquotes/sweetie.0 (renamed from quotes/sweetie.0)0
-rw-r--r--ponyquotes/sweetie.1 (renamed from quotes/sweetie.1)0
-rw-r--r--ponyquotes/sweetie.2 (renamed from quotes/sweetie.2)0
-rw-r--r--ponyquotes/sweetie.3 (renamed from quotes/sweetie.3)0
-rw-r--r--ponyquotes/sweetie.4 (renamed from quotes/sweetie.4)0
-rw-r--r--ponyquotes/sweetie.5 (renamed from quotes/sweetie.5)0
-rw-r--r--ponyquotes/sweetie.6 (renamed from quotes/sweetie.6)0
-rw-r--r--ponyquotes/trixie.0 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.0)0
-rw-r--r--ponyquotes/trixie.1 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.1)0
-rw-r--r--ponyquotes/trixie.2 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.2)0
-rw-r--r--ponyquotes/trixie.3 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.3)0
-rw-r--r--ponyquotes/trixie.4 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.4)0
-rw-r--r--ponyquotes/trixie.5 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.5)0
-rw-r--r--ponyquotes/trixie.6 (renamed from quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.6)0
-rw-r--r--ponyquotes/twilight.0 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.0)0
-rw-r--r--ponyquotes/twilight.1 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.1)0
-rw-r--r--ponyquotes/twilight.10 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.10)0
-rw-r--r--ponyquotes/twilight.2 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.2)0
-rw-r--r--ponyquotes/twilight.3 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.3)0
-rw-r--r--ponyquotes/twilight.4 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.4)0
-rw-r--r--ponyquotes/twilight.5 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.5)0
-rw-r--r--ponyquotes/twilight.6 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.6)0
-rw-r--r--ponyquotes/twilight.7 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.7)0
-rw-r--r--ponyquotes/twilight.8 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.8)0
-rw-r--r--ponyquotes/twilight.9 (renamed from quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.9)0
-rw-r--r--ponyquotes/twiligt.111
-rw-r--r--ponyquotes/twiligt.121
-rw-r--r--ponyquotes/twiligt.131
-rw-r--r--ponyquotes/twiligt.141
-rw-r--r--ponyquotes/twiligt.151
-rw-r--r--ponyquotes/twiligt.161
-rw-r--r--ponyquotes/twiligt.171
-rw-r--r--ponyquotes/twiligt.181
-rw-r--r--ponyquotes/twiligt.191
-rw-r--r--ponyquotes/twiligt.201
-rw-r--r--ponyquotes/twiligt.211
-rw-r--r--ponyquotes/twiligt.221
-rw-r--r--ponyquotes/twist.0 (renamed from quotes/twist.0)0
-rw-r--r--ponyquotes/zecora.0 (renamed from quotes/zecora.0)0
-rw-r--r--ponyquotes/zecora.1 (renamed from quotes/zecora.1)0
-rw-r--r--ponyquotes/zecora.2 (renamed from quotes/zecora.2)0
-rw-r--r--ponyquotes/zecora.3 (renamed from quotes/zecora.3)0
-rw-r--r--ponyquotes/zecora.4 (renamed from quotes/zecora.4)0
-rw-r--r--ponyquotes/zecora.5 (renamed from quotes/zecora.5)0
-rw-r--r--ponyquotes/zecora.6 (renamed from quotes/zecora.6)0
m---------ponyquotes4ponysay0
-rwxr-xr-xponysay301
-rw-r--r--ponysay.pdfbin323563 -> 328795 bytes
-rwxr-xr-xponysay.py710
-rwxr-xr-xpq4ps39
-rwxr-xr-xpq4ps-list.pl24
-rwxr-xr-xpq4ps.pl26
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.02
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.12
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.101
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.111
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.121
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.131
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.141
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.151
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.161
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.171
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.181
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.191
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.21
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.201
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.211
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.221
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.231
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.241
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.251
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.261
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.271
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.281
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.291
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.31
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.301
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.311
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.321
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.331
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.341
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.351
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.362
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.41
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.51
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.61
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.71
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.81
-rw-r--r--quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.91
341 files changed, 1427 insertions, 1095 deletions
diff --git a/.gitignore b/.gitignore
index ec99db6..048da35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,10 @@
/completion/*-completion-think.*
/manuals/manpage.*.gz
+/ponysay.info
/ponysay.info.gz
/truncater
*.install
+/Makefile
+/quotes/
+
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 1560352..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "ponyquotes4ponysay"]
- path = ponyquotes4ponysay
- url = git://github.com/maandree/ponyquotes4ponysay.git
diff --git a/CHANGELOG b/CHANGELOG
index 7e78339..26a6698 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,12 @@
+Version 2.0
+
+ Makefile is generated by running `./configure`.
+
+ All Perl scripts and almost all Bash are reimplemented in one Python 3 script.
+
+ kmsponies4ponysay is included.
+
+
Version 1.4.1
Code is repaired and more portable.
diff --git a/CREDITS b/CREDITS
index aa46e41..da054eb 100644
--- a/CREDITS
+++ b/CREDITS
@@ -3,12 +3,12 @@
# Active developers
Erkin Batu Altunbaş
Mattias Andrée
+Elis Axelsson
Sven-Hendrik Haase
Pablo Lezaeta
Jan Alexander Steffens
# Patchers and other contributors
-Elis Axelsson
Duane Bekaert
Kyah Rindlisbacher
James Ross-Gowan
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 0095614..0000000
--- a/Makefile
+++ /dev/null
@@ -1,181 +0,0 @@
-PREFIX="/usr"
-INSTALLDIR="$(DESTDIR)$(PREFIX)"
-
-
-all: truncater manpages infomanual ponythinkcompletion
-
-truncater:
- $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o "truncater" "truncater.c"
-
-manpages:
- gzip -9 -f < "manuals/manpage.6" > "manuals/manpage.6.gz"
- gzip -9 -f < "manuals/manpage.es.6" > "manuals/manpage.es.6.gz"
-
-infomanual:
- makeinfo "manuals/ponysay.texinfo"
- gzip -9 -f "ponysay.info"
-
-ponysaycompletion:
- sed -e 's/\/usr\//'"$$(sed -e 's/\//\\\//g' <<<$(PREFIX))"'\//g' <"completion/bash-completion.sh" >"completion/bash-completion.sh.install"
- sed -e 's/\/usr\//'"$$(sed -e 's/\//\\\//g' <<<$(PREFIX))"'\//g' <"completion/fish-completion.fish" >"completion/fish-completion.fish.install"
- sed -e 's/\/usr\//'"$$(sed -e 's/\//\\\//g' <<<$(PREFIX))"'\//g' <"completion/zsh-completion.zsh" >"completion/zsh-completion.zsh.install"
-
-ponythinkcompletion: ponysaycompletion
- sed -e 's/ponysay/ponythink/g' <"completion/bash-completion.sh.install" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/bash-completion-think.sh"
- sed -e 's/ponysay/ponythink/g' <"completion/fish-completion.fish.install" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/fish-completion-think.fish"
- sed -e 's/ponysay/ponythink/g' <"completion/zsh-completion.zsh.install" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/zsh-completion-think.zsh"
-
-install-min: truncater
- mkdir -p "$(INSTALLDIR)/share/ponysay/"
- mkdir -p "$(INSTALLDIR)/share/ponysay/ponies"
- mkdir -p "$(INSTALLDIR)/share/ponysay/ttyponies"
- mkdir -p "$(INSTALLDIR)/share/ponysay/quotes"
- cp -P ponies/*.pony "$(INSTALLDIR)/share/ponysay/ponies/"
- cp -P ttyponies/*.pony "$(INSTALLDIR)/share/ponysay/ttyponies/"
- cp -P quotes/*.* "$(INSTALLDIR)/share/ponysay/quotes/"
-
- mkdir -p "$(INSTALLDIR)/bin/"
- install "ponysay" "$(INSTALLDIR)/bin/ponysay"
- ln -sf "ponysay" "$(INSTALLDIR)/bin/ponythink"
-
- mkdir -p "$(INSTALLDIR)/lib/ponysay/"
- install -s "truncater" "$(INSTALLDIR)/lib/ponysay/truncater"
- install "list.pl" "$(INSTALLDIR)/lib/ponysay/list.pl"
- install "linklist.pl" "$(INSTALLDIR)/lib/ponysay/linklist.pl"
- install "pq4ps" "$(INSTALLDIR)/lib/ponysay/pq4ps"
- install "pq4ps.pl" "$(INSTALLDIR)/lib/ponysay/pq4ps.pl"
- install "pq4ps-list.pl" "$(INSTALLDIR)/lib/ponysay/pq4ps-list.pl"
-
- mkdir -p "$(INSTALLDIR)/share/licenses/ponysay/"
- install "COPYING" "$(INSTALLDIR)/share/licenses/ponysay/COPYING"
-
-install-bash: ponythinkcompletion
- mkdir -p "$(INSTALLDIR)/share/bash-completion/completions/"
- install "completion/bash-completion.sh.install" "$(INSTALLDIR)/share/bash-completion/completions/ponysay"
- install "completion/bash-completion-think.sh" "$(INSTALLDIR)/share/bash-completion/completions/ponythink"
-
-install-zsh: ponythinkcompletion
- mkdir -p "$(INSTALLDIR)/share/zsh/site-functions/"
- install "completion/zsh-completion.zsh.install" "$(INSTALLDIR)/share/zsh/site-functions/_ponysay"
- install "completion/zsh-completion-think.zsh" "$(INSTALLDIR)/share/zsh/site-functions/_ponythink"
-
-install-fish: ponythinkcompletion
- mkdir -p "$(INSTALLDIR)/share/fish/completions/"
- install "completion/fish-completion.fish.install" "$(INSTALLDIR)/share/fish/completions/ponysay.fish"
- install "completion/fish-completion-think.fish" "$(INSTALLDIR)/share/fish/completions/ponythink.fish"
-
-install-man: manpages
- mkdir -p "$(INSTALLDIR)/share/man/man6"
- install "manuals/manpage.6.gz" "$(INSTALLDIR)/share/man/man6/ponysay.6.gz"
- ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man/man6/ponythink.6.gz"
-
-install-man-es: manpages
- mkdir -p "$(INSTALLDIR)/share/man/es/man6"
- install "manuals/manpage.es.6.gz" "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz"
- ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz"
-
-install-info: infomanual
- mkdir -p "$(INSTALLDIR)/share/info"
- install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponysay.info.gz"
- install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponythink.info.gz"
- install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(INSTALLDIR)/share/info/ponysay.info.gz"
- install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(INSTALLDIR)/share/info/ponythink.info.gz"
-
-install-no-info: install-min install-bash install-zsh install-fish install-man install-man-es
-
-install-pdf:
- install "ponysay.pdf" "$(INSTALLDIR)/doc/ponysay.pdf"
-
-install: install-no-info install-info
- @echo -e '\n\n'\
-'/--------------------------------------------------\\\n'\
-'| ___ |\n'\
-'| / (_) o |\n'\
-'| \__ _ _ __ |\n'\
-'| / / |/ | | / \_| | |\n'\
-'| \___/ | |_/|/\__/ \_/|/ |\n'\
-'| /| /| |\n'\
-'| \| \| |\n'\
-'| ____ |\n'\
-'| | _ \ ___ _ __ _ _ ___ __ _ _ _ |\n'\
-'| | |_) |/ _ \ | '\''_ \ | | | |/ __| / _` || | | | |\n'\
-'| | __/| (_) || | | || |_| |\__ \| (_| || |_| | |\n'\
-'| |_| \___/ |_| |_| \__, ||___/ \__,_| \__, | |\n'\
-'| |___/ |___/ |\n'\
-'\\--------------------------------------------------/'
- @echo '' | ./ponysay -f ./`if [[ "$$TERM" = "linux" ]]; then echo ttyponies; else echo ponies; fi`/pinkiecannon.pony | tail --lines=30 ; echo -e '\n'
-
-uninstall:
- if [ -d "$(INSTALLDIR)/share/ponysay" ]; then rm -fr "$(INSTALLDIR)/share/ponysay" ; fi
- if [ -d "$(INSTALLDIR)/lib/ponysay" ]; then rm -fr "$(INSTALLDIR)/lib/ponysay" ; fi
- if [ -f "$(INSTALLDIR)/bin/ponysay" ]; then unlink "$(INSTALLDIR)/bin/ponysay" ; fi
- if [ -f "$(INSTALLDIR)/bin/ponythink" ]; then unlink "$(INSTALLDIR)/bin/ponythink" ; fi
- if [ -f "$(INSTALLDIR)/share/licenses/ponysay/COPYING" ]; then unlink "$(INSTALLDIR)/share/licenses/ponysay/COPYING" ; fi
- if [ -f "$(INSTALLDIR)/share/bash-completion/completions/ponysay" ]; then unlink "$(INSTALLDIR)/share/bash-completion/completions/ponysay" ; fi
- if [ -f "$(INSTALLDIR)/share/bash-completion/completions/ponythink" ]; then unlink "$(INSTALLDIR)/share/bash-completion/completions/ponythink"; fi
- if [ -f "$(INSTALLDIR)/share/fish/completions/ponysay.fish" ]; then unlink "$(INSTALLDIR)/share/fish/completions/ponysay.fish" ; fi
- if [ -f "$(INSTALLDIR)/share/fish/completions/ponythink.fish" ]; then unlink "$(INSTALLDIR)/share/fish/completions/ponythink.fish" ; fi
- if [ -f "$(INSTALLDIR)/share/zsh/site-functions/_ponysay"; ]; then unlink "$(INSTALLDIR)/share/zsh/site-functions/_ponysay" ; fi
- if [ -f "$(INSTALLDIR)/share/zsh/site-functions/_ponythink"; ]; then unlink "$(INSTALLDIR)/share/zsh/site-functions/_ponythink" ; fi
- if [ -f "$(INSTALLDIR)/share/man/man6/ponysay.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/man6/ponysay.6.gz" ; fi
- if [ -f "$(INSTALLDIR)/share/man/man6/ponythink.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/man6/ponythink.6.gz" ; fi
- if [ -f "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz" ; fi
- if [ -f "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz" ; fi
- if [ -f "$(INSTALLDIR)/share/info/ponysay.info.gz" ]; then unlink "$(INSTALLDIR)/share/info/ponysay.info.gz" ; fi
- if [ -f "$(INSTALLDIR)/share/info/ponythink.info.gz" ]; then unlink "$(INSTALLDIR)/share/info/ponythink.info.gz" ; fi
- if [ -f "$(INSTALLDIR)/doc/ponysay.pdf" ]; then unlink "$(INSTALLDIR)/doc/ponysay.pdf" ; fi
-
-uninstall-old:
- if [ -d "$(INSTALLDIR)/share/ponies" ]; then rm -fr "$(INSTALLDIR)/share/ponies" ; fi
- if [ -d "$(INSTALLDIR)/share/ttyponies" ]; then rm -fr "$(INSTALLDIR)/share/ttyponies" ; fi
- if [ -f "$(INSTALLDIR)/bin/ponysaytruncater" ]; then unlink "$(INSTALLDIR)/bin/ponysaytruncater" ; fi
- if [ -d "$(INSTALLDIR)/lib/ponysay/pq4ps-list" ]; then unlink "$(INSTALLDIR)/lib/ponysay/pq4ps-list" ; fi
-
-clean:
- if [ -f "truncater" ]; then rm -f "truncater" ; fi
- if [ -f "completion/bash-completion-think.sh" ]; then rm -f "completion/bash-completion-think.sh" ; fi
- if [ -f "completion/fish-completion-think.fish" ]; then rm -f "completion/fish-completion-think.fish"; fi
- if [ -f "completion/zsh-completion-think.zsh" ]; then rm -f "completion/zsh-completion-think.zsh" ; fi
- if [ -f "manuals/manpage.6.gz" ]; then rm -f "manuals/manpage.6.gz" ; fi
- if [ -f "manuals/manpage.es.6.gz" ]; then rm -f "manuals/manpage.es.6.gz" ; fi
- if [ -f "ponysay.info.gz" ]; then rm -f "ponysay.info.gz" ; fi
-
-clean-old:
- if [ -f "ponysaytruncater" ]; then rm -f "ponysaytruncater" ; fi
-
-
-## Scripts for maintainers
-
-ttyponies:
- mkdir -p "ttyponies"
- for pony in $$(ls --color=no "ponies/"); do \
- echo "building ttypony: $$pony" ;\
- if [ `readlink "ponies/$$pony"` = "" ]; then \
- ponysay2ttyponysay < "ponies/$$pony" | tty2colourfultty -c 1 -e > "ttyponies/$$pony" ;\
- git add "ttyponies/$$pony" ;\
- elif [ ! -f "ttyponies/$$pony" ]; then \
- ln -s `readlink "ponies/$$pony"` "ttyponies/$$pony" ;\
- git add "ttyponies/$$pony" ;\
- fi \
- done
-
-pdfmanual:
- texi2pdf "manuals/ponysay.texinfo"
- git add "manuals/ponysay.texinfo" "ponysay.pdf"
- for ext in `echo aux cp cps fn ky log pg toc tp vr`; do \
- (if [ -f "ponysay.$$ext" ]; then unlink "ponysay.$$ext"; fi); \
- done
- if [ -d "ponysay.t2d" ]; then rm -r "ponysay.t2d"; fi
-
-submodules: clean
- (cd "ponyquotes4ponysay/"; make clean)
- git submodule init
- git submodule update
-
-quotes: submodules
- (cd "ponyquotes4ponysay/"; make -B)
- if [ -d quotes ]; then git rm "quotes/"*.*; fi
- mkdir -p "quotes"
- cp "ponyquotes4ponysay/ponyquotes/"*.* "quotes"
- git add "quotes/"*.*
-
diff --git a/README b/README
deleted file mode 100644
index 0812155..0000000
--- a/README
+++ /dev/null
@@ -1,206 +0,0 @@
- _____
-| __ \
-| |__) |___ _ __ _ _ ___ __ _ _ _
-| ___// _ \ | '_ \ | | | |/ __| / _` || | | |
-| | | (_) || | | || |_| |\__ \| (_| || |_| |
-|_| \___/ |_| |_| \__, ||___/ \__,_| \__, |
- __/ | __/ |
- |___/ |___/
- _____ _ _ _ _
- |_ _|___ __| | __ _ _ _ _ _ ___ _ _ _ _ | |_ ___ _ _ _ __ (_) _ _ __ _ | |
- | | / _ \/ _` |/ _` || || | | || |/ _ \| || || '_| | _|/ -_)| '_|| ' \ | || ' \ / _` || | _
- |_| \___/\__,_|\__,_| \_, | \_, |\___/ \_,_||_| \__|\___||_| |_|_|_||_||_||_|\__,_||_|( )
- |__/ |__/ |/
- _ _ _ _ _ _
- | |_ ___ _ __ ___ _ _ _ _ ___ __ __ __ | |_ | |_ ___ __ __ __ ___ _ _ | | __| || |
- | _|/ _ \| ' \ / _ \| '_|| '_|/ _ \\ V V / | _|| ' \ / -_) \ V V // _ \| '_|| |/ _` ||_|
- \__|\___/|_|_|_|\___/|_| |_| \___/ \_/\_/ \__||_||_|\___| \_/\_/ \___/|_| |_|\__,_|(_)
-
-
-
-Required runtime dependencies
-=============================
-
- bash : required for the main script [file: ponysay]
-
- cowsay : this is a wrapper for cowsay
-
- coreutils : the main script [file: ponysay] uses stty, cut, ls, cat, sort, readlink, pwd, head and tail
-
- sed : used to remove .pony from pony names when running `ponysay -l` and `ponysay -L`
-
- perl : required to run `ponysay -l` and `ponysay -L`
-
-
-Optional runtime dependencies
-=============================
-
- ponyquotes4ponysay : for support of My Little Pony quotes with associated pony
- -- Included as a submodule, and can easily be removed by edit Makefile.
-
- kmsponies4ponysay : improving TTY support under KMS support
- -- Available for Arch:ers in AUR (https://aur.archlinux.org/packages.php?ID=61111)
- -- and on github at https://github.com/maandree/ponyquotes4ponysay
-
-
-Package building dependencies
-=============================
-
- gcc : used for compiling ponysaytruncater.c
-
- gzip : used for compressing manpages
-
- make : required to run the make script
-
- coreutils : make script uses install, unlink, rm, ln, mkdir and cp
-
- tex
- texinfo : required to build info manual (tex is required by texinfo)
-
-
-Dependencies for pony providers
-===============================
-
- make : required to run `make -B ttyponies`
-
- coreutils : ln and readlink are used in the ttyponies subscript
-
- bash : used in the ttyponies subscript
-
- util-say : used by `make ttyponies` to build ttyponies from xterm ponies
- -- Available for Arch:ers in AUR as util-say-git (https://aur.archlinux.org/packages.php?ID=60241)
- -- and on github at https://github.com/maandree/util-say
-
-
-Installation on GNU/Linux (or other Unix implementations)
-=========================================================
-
- Before installing ponysay, make sure your system have the packages listed under
- [Required runtime dependencies] and [Package building dependencies] installed.
-
- Download or clone the project. bleeding edge: https://github.com/erkin/ponysay/tarball/master
- release: https://github.com/erkin/ponysay/tags
-
- In the terminal, `cd` into the ponysay directory and execute `make && make install`.
- This will install ponysay into the $PREFIX (/usr by default, meaning you may need to
- run `make install` as root, e.g. by running `sudo make install`.)
-
- In order to use ponysay, run: ponysay "I am just the cutest pony!"
- Or if you have a specific pony in your mind: ponysay -f pinkie "Partay!~"
-
- Run `info ponysay`, `man 6 ponysay` (man ponysay) or `ponysay -h` for more information.
- A Spanish manual is available: man -L es 6 ponysay
-
-
-Pony fortune on terminal startup
-================================
-
- This requires that you have fortune utility installed. You can install it from your
- distributions package repository, it should be named fortune or fortune-mod.
-
- Edit your ~/.bashrc and this line [to the end should work]:
-
- fortune | ponysay
-
- Now every time you open a terminal a pony should give your fortune.
-
- If you wany ponified fortuned the are some stuff you can try:
-
- A gigantic sed script:
- http://www.reddit.com/r/mylittlelinux/comments/srixi/using_ponysay_with_a_ponified_fortune_warning/
-
- ponypipe:
- https://github.com/maandree/ponypipe
- https://aur.archlinux.org/packages.php?ID=60228
-
- pinkie-pie:
- https://github.com/maandree/pinkie-pie
- https://aur.archlinux.org/packages.php?ID=60229
-
-
-Pony quotes
-===========
-
-Running `ponysay -q` will give you a random pony saying one it its quote from MLP:FiM.
-Add one or more argument after `-q` to sepecify a set of ponies from which one will be selected randomly.
-
-When running `ponysay -l` or `ponysay -L` the ponies which have quotes will be printed bold or bright (depending on terminal).
-
-
-Ponies in TTY (Linux VT)
-========================
-
- If you have a custom colour palette edit your ~/.bashrc and add:
-
- if [ "$TERM" = "linux" ]; then
- function ponysay
- {
- exec ponysay "$@"
- #RESET PALETTE HERE
- }
- fi
-
-
-FAQ
-===
-
- Q: The output looks like a mess in (TTY/PuTTY/other)!
-
- A: Unfortunately, there's nothing much we can do about it.
- See issue 1: https://github.com/erkin/ponysay/issues/1
-
- Q: You are missing (my-favourite-pony)!
-
- A: Ask and we'll add!
- https://github.com/erkin/ponysay/issues
-
- Q: Which programs do you use to generate the pony files?
-
- A: The pony files are actually mostly a bunch of selected browser
- ponies that are generated into cow files via img2xterm
- https://github.com/rossy2401/img2xterm
- or util-say.
- https://github.com/maandree/util-say
- https://aur.archlinux.org/packages.php?ID=60241
-
-
-Providing ponies
-================
-
- Most pony images are browser ponies or desktop ponies,
- browser ponies is a port of desktop ponies, implementing it in JavaScript.
-
- Browser ponies: https://github.com/panzi/Browser-Ponies
- Desktop ponies: http://desktop-pony-team.deviantart.com/
-
- There is also a collection of ponies that are not yet pixelated in a Java reimplementation:
- https://github.com/maandree/unisay/tree/develop/dev/newponies
-
-
- New ponies can be created from regular images by using img2xterm
- https://github.com/rossy2401/img2xterm
- or util-say
- https://github.com/maandree/util-say
- https://aur.archlinux.org/packages.php?ID=60241
-
- Using util-say:
-
- img2ponysay -c 1 -2 -- SOURCE_IMAGE > PONY_FILE
-
- PONY_FILE should end with .pony and be localed in ponies/
-
- Omit -2 if the source image does not use double pixel size.
-
- (`-c 1` is no longer required.)
- For more information see https://github.com/maandree/util-say/wiki/img2ponysay
-
- When a pony is added please also add a ttypony version, but if you don't please
- state so in the pull request so we do not miss the create it; the simplest way to
- do this is to run `make -B ttyponies` after adding the ponies to ponies/.
-
- Running `make -B ttyponies` will build (or rebuild) all ttyponies with a pony present
- in ponies/, and creates all needed symlinks.
-
- To be able to run `make -B ttyponies` you must have the packages listed under
- [Dependencies for pony providers].
-
diff --git a/README.md b/README.md
index e27fb3e..290e948 100644
--- a/README.md
+++ b/README.md
@@ -12,10 +12,10 @@ First of all, you need `cowsay` from your local repositories.
Obtain it from [here](http://www.nog.net/~tony/warez) if you wish to compile it yourself.
This is often sufficient, but if is not you may be missing one of the standard packages: [bash](ftp://ftp.gnu.org/gnu/bash/), [coreutils](ftp://ftp.gnu.org/gnu/coreutils/) or [sed](ftp://ftp.gnu.org/gnu/sed/).
-[Download](https://github.com/erkin/ponysay/downloads) or clone the project.
-In the terminal, `cd` into the ponysay directory and `make && make install`.
-
-This will install ponysay into the $PREFIX (`/usr` by default, meaning you may need to `make install` as root, e.g. `sudo make install`.)
+[Download](/erkin/ponysay/downloads) or clone the project.
+In the terminal, `cd` into the ponysay directory and `./configure && make && make install`.
+You make need to be super user to run `make install`, on most systems this
+can be achieved by running `sudo make install`.
If either `make` or `make install` fails you be missing one of the standard packages:
[gcc](ftp://ftp.gnu.org/gnu/gcc/), [gzip](ftp://ftp.gnu.org/gnu/gzip/), [make](ftp://ftp.gnu.org/gnu/make/) or [coreutils](ftp://ftp.gnu.org/gnu/coreutils/), or [git](http://git-scm.com/).
@@ -46,7 +46,7 @@ This requires that you have the `fortune` utility installed. You can install it
or just fetch the source code from [here](ftp://ftp.ibiblio.org/pub/linux/games/amusements/fortune/).
You can try [this](http://www.reddit.com/r/mylittlelinux/comments/srixi/using_ponysay_with_a_ponified_fortune_warning/) script or
-[ponypipe](https://github.com/maandree/ponypipe) to ponify fortunes.
+[ponypipe](/maandree/ponypipe) to ponify fortunes.
Edit your `~/.bashrc` and add this to the end of the file
@@ -84,19 +84,17 @@ Dependencies
### Required runtime dependencies
-`bash`: required for the main script [file: ponysay]
-
-`cowsay`: this is a wrapper for cowsay
+`bash`: bash is used in a minor part of the program to make everything work, this will be removed later
-`coreutils`: the main script uses stty, cut, ls, cat, sort, readlink, pwd, head and tail
+`coreutils`: stty in coreutils used to determine size of the terminal, other parts of coreutils will not be needed for long
-`sed`: used to remove .pony from pony names when running `ponysay -l` and `ponysay -l`
+`cowsay`: this is a wrapper for cowsay
-`perl`: required to run `ponysay -l` and `ponysay -L`
+`python>=3`: Written in python 3
### Package building dependencies
-`gcc`: used for compiling ponysaytruncater.c
+`gcc`: used for compiling truncater.c
`gzip`: used for compressing manpages
@@ -110,13 +108,13 @@ FAQ
__Q:__ The output looks like a mess in _(TTY/PuTTY/other)_!
-__A:__ Unfortunately, there's nothing much we can do about it. See [issue 1](https://github.com/erkin/ponysay/issues/1).
+__A:__ Unfortunately, there's nothing much we can do about it. See [issue 1](/erkin/ponysay/issues/1).
__Q:__ You are missing _(my-favourite-pony)_!
-__A:__ [Ask](https://github.com/erkin/ponysay/issues) and we'll add!
+__A:__ [Ask](/erkin/ponysay/issues) and we'll add!
__Q:__ Which programs do you use to generate the pony files?
__A:__ The pony files are actually mostly a bunch of selected [browser ponies](http://web.student.tuwien.ac.at/~e0427417/browser-ponies/ponies.html)
-that are generated into cow files via [img2xterm](https://github.com/rossy2401/img2xterm) or [util-say](https://github.com/maandree/util-say).
+that are generated into cow files via [img2xterm](/rossy2401/img2xterm) or [util-say](/maandree/util-say).
diff --git a/completion/bash-completion.sh b/completion/bash-completion.sh
index 26e1134..ca6755e 100644
--- a/completion/bash-completion.sh
+++ b/completion/bash-completion.sh
@@ -8,28 +8,18 @@ _ponysay()
options='-v -h -l -f -W -q'
COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
- if [ $prev = "-f" ]; then
- COMPREPLY=()
-
- sysponies=/usr/share/ponysay/ponies/
- usrponies=~/.local/share/ponysay/ponies/
- if [[ $TERM = "linux" ]]; then
- sysponies=/usr/share/ponysay/ttyponies/
- usrponies=~/.local/share/ponysay/ttyponies/
- fi
-
- [ -d $sysponies ] && COMPREPLY+=( $( compgen -W "$(ls --color=no $sysponies | sed -e 's/.pony//g')" -- "$cur" ) )
- [ -d $usrponies ] && COMPREPLY+=( $( compgen -W "$(ls --color=no $usrponies | sed -e 's/.pony//g')" -- "$cur" ) )
+ if [ $prev = "-f" ] || [ $prev = "--pony" ]; then
+ ponies=$('/usr/bin/ponysay.py' --onelist)
+ COMPREPLY=( $( compgen -W "$ponies" -- "$cur" ) )
- elif [ $prev = "-W" ]; then
+ elif [ $prev = "-q" ] || [ $prev = "--quote" ]; then
+ quoters=$('/usr/bin/ponysay.py' --quoters)
+ COMPREPLY=( $( compgen -W "$quoters" -- "$cur" ) )
+
+ elif [ $prev = "-W" ] || [ $prev = "--wrap" ]; then
cols=$(( `stty size | cut -d ' ' -f 2` - 10 ))
COMPREPLY=( $cols $(( $cols / 2 )) 100 60 )
- elif [ $prev = "-q" ]; then
- qcmd=/usr/lib/ponysay/pq4ps
- quoters=$($qcmd -l)
- COMPREPLY=( $( compgen -W "$quoters" -- "$cur" ) )
-
fi
}
diff --git a/completion/fish-completion.fish b/completion/fish-completion.fish
index 89f7a19..6cd8b99 100644
--- a/completion/fish-completion.fish
+++ b/completion/fish-completion.fish
@@ -1,45 +1,21 @@
-# Completions for ponysay
+# FISH completions for ponysay
# https://github.com/erkin/ponysay/
#
# Author: Elis Axelsson <etu AT elis DOT nu>
-if test $TERM = "linux"
- set -g systempath /usr/share/ponysay/ttyponies/
- set -g homepath ~/.local/share/ponysay/ttyponies/
-else
- set -g systempath /usr/share/ponysay/ponies/
- set -g homepath ~/.local/share/ponysay/ponies/
-end
+set -g ponies (/usr/bin/ponysay.py --onelist)
+set -g quoters (/usr/bin/ponysay.py --quoters)
-if test -d $systempath
- set -g systemponies (ls --color=no $systempath | sed -e 's/\.pony//' -e 's/_.*//' | perl -pe 's/([a-z])([A-Z])/\1\\\ \2/' )
-end
+complete --command ponysay --short-option h --long-option help --description 'help of ponysay'
+complete --command ponysay --short-option v --long-option version --description 'version of ponysay'
+complete --command ponysay --short-option l --long-option list --description 'list pony files'
+complete --command ponysay --short-option L --long-option altlist --description 'list pony files with alternatives'
+complete --command ponysay --short-option f --long-option pony --arguments "$ponies" --description 'pony'
+complete --command ponysay --short-option q --long-option quote --arguments "$quoters" --no-files --description 'pony'
+complete --command ponysay --short-option W --long-option wrap --arguments 'Integer' --description 'specify the column when the message should be wrapped'
+complete --command ponysay --arguments 'MESSAGE'
-if test -d $homepath
- set -g homeponies (ls --color=no $homepath | sed -e 's/\.pony//' -e 's/_.*//' | perl -pe 's/([a-z])([A-Z])/\1\\\ \2/' )
-end
-
-
-set -g qcmd /usr/lib/ponysay/pq4ps
-set -g quoters ($qcmd -l)
-
-
-complete -c ponysay -s h --description "Help of ponysay"
-complete -c ponysay -s v --description "Version of ponysay"
-complete -c ponysay -s l --description "List pony files"
-complete -c ponysay -s L --description "List pony files with alternatives"
-complete -c ponysay -s f -a "$homeponies $systemponies" --description "Select a pony"
-complete -c ponysay -s q -a "$quoters" --description "Select ponies for MLP:FiM quotes"
-complete -c ponysay -s W -a "Integer" --description "The screen column where the message should be wrapped"
-
-
-set -e systempath
-set -e homepath
-
-set -e systemponies
-set -e homeponies
-
-set -e qcmd
+set -e ponies
set -e quoters
diff --git a/configure b/configure
new file mode 100755
index 0000000..db6229d
--- /dev/null
+++ b/configure
@@ -0,0 +1,364 @@
+#!/usr/bin/env bash
+
+
+PREFIX="/usr"
+INFODESC=\''My Little Ponies for your terminal'\'
+
+completions='completion/bash-completion.sh completion/fish-completion.fish completion/zsh-completion.zsh'
+shareDirs='ponies ttyponies quotes'
+manFiles='manuals/manpage.6 manuals/manpage.es.6'
+licenseFiles='COPYING'
+
+
+
+oldInstalledFiles='bin/ponysaytruncater lib/ponysay/list.pl lib/ponysay/linklist.pl lib/ponysay/pq4ps lib/ponysay/pq4ps.pl lib/ponysay/pq4ps-list lib/ponysay/pq4ps-list.pl'
+oldInstalledDirs='share/ponies share/ttyponies'
+oldCompiledFiles='ponysaytruncater ponysay.install'
+oldCompiledDirs=''
+
+installedFiles='bin/ponysay bin/ponythink bin/ponysay.py bin/ponythink.py doc/ponysay.pdf share/info/ponysay.info.gz share/info/ponythink.info.gz'
+installedDirs='share/ponysay lib/ponysay'
+compiledFiles='truncater ponysay.info.gz ponysay.py.install'
+compiledDirs='quotes'
+
+for man in $manFiles; do
+ oldCompiledFiles="$oldCompiledFiles $man.gz"
+done
+for completion in $completions; do
+ thinkfile="${completion%%.*}-think.${completion##*.}"
+ compiledFiles="$compiledFiles $completion.install $thinkfile"
+done
+for file in $licenseFiles; do
+ installedFiles="$installedFiles share/licenses/ponysay/$file"
+done
+
+
+
+function getcompdir()
+{
+ if [ "$1" == 'bash' ]; then echo -n 'bash-completion/completions'
+ elif [ "$1" == 'fish' ]; then echo -n 'fish/completions'
+ elif [ "$1" == 'zsh' ]; then echo -n 'zsh/site-functions'
+ fi
+}
+
+function getcompfile()
+{
+ if [ "$1" == 'bash' ]; then echo -n "$2"
+ elif [ "$1" == 'fish' ]; then echo -n "$2"'.fish'
+ elif [ "$1" == 'zsh' ]; then echo -n '_'"$2"
+ fi
+}
+
+
+
+installPdf=''
+installInfo=' install-info'
+installMan=' install-man'
+installManEs=''
+installBash=' install-bash'
+installFish=' install-fish'
+installZsh=' install-zsh'
+
+for arg in "$@"; do
+ opt="${arg%%=*}"
+ val="${arg##*=}"
+
+ if [ "$opt" = '--prefix' ]; then
+ PREFIX="$val"
+ elif [ "$opt" = '--info-desc' ]; then
+ INFODESC=\'"$(sed -e s/\'/\''\\'\'\'/g <<<"$val")"\'
+
+ elif [ "$opt" = '--with-pdf' ]; then installPdf=' install-pdf'
+ elif [ "$opt" = '--without-info' ]; then installInfo=''
+ elif [ "$opt" = '--without-man' ]; then installMan=''
+ elif [ "$opt" = '--with-man-es' ]; then installManEs=' install-man-es'
+ elif [ "$opt" = '--without-bash' ]; then installBash=''
+ elif [ "$opt" = '--without-fish' ]; then installFish=''
+ elif [ "$opt" = '--without-zsh' ]; then installZsh=''
+
+ elif [ "$opt" = "--everything" ]; then
+ installPdf=' install-pdf'
+ installInfo=' install-info'
+ installMan=' install-man'
+ installManEs=' install-man-es'
+ installBash=' install-bash'
+ installFish=' install-fish'
+ installZsh=' install-zsh'
+
+ else
+ echo "$0: error: option not recongised: $arg" >&2
+ fi
+done
+
+compileMethods='core truncater manpages ponysaycompletion ponythinkcompletion'
+installMethods='install-min'"$installPdf$installInfo$installMan$installManEs$installBash$installFish$installZsh"
+if [ ! "$installInfo" = '' ]; then
+ compileMethods="$compileMethods infomanual"
+fi
+
+
+
+function correctPrefix()
+{
+ for file in "$@"; do
+ echo -en '\t'
+ echo 'sed -e '\''s/'\''\'\'''\''\/usr\//'\''\'\''"$(SED_PREFIX)"'\''\//g'\'' < "'"$file"'" > "'"$file"'.install"'
+ done
+}
+
+function gzCompress()
+{
+ for file in "$@"; do
+ echo -en '\t'
+ echo 'gzip -9 -f < "'"$file"'" > "'"$file"'".gz'
+ done
+}
+
+function thinkCompletion()
+{
+ for file in "$@"; do
+ echo -en '\tsed'
+ echo -n ' -e '\''s/ponysay/ponythink/g'\'
+ echo -n ' < "'"$file"'.install" | sed'
+ echo -n ' -e '\''s/\/ponythink\//\/ponysay\//g'\'
+ echo -n ' -e '\''s/\\\/ponythink\\\//\\\/ponysay\\\//g'\'
+ thinkfile="${file%%.*}-think.${file##*.}"
+ echo ' > "'"$thinkfile"'"'
+ done
+}
+
+
+
+echo "PREFIX = $PREFIX, edit with option --prefix=PREFIX"
+echo "INFODESC = $INFODESC, edit with option --info-desc=INFODESC"
+echo
+[ ! "$installPdf" = '' ] && echo "Installing PDF manual"
+[ ! "$installInfo" = '' ] && echo "Installing info manual, add option --without-info to skip"
+[ ! "$installMan" = '' ] && echo "Installing English manpage manual, add option --without-man to skip"
+[ ! "$installManEs" = '' ] && echo "Installing Spanish manpage manual"
+[ ! "$installBash" = '' ] && echo "Installing autocompletion for GNU Bash, add option --without-bash to skip"
+[ ! "$installFish" = '' ] && echo "Installing autocompletion for fish, add option --without-fish to skip"
+[ ! "$installZsh" = '' ] && echo "Installing autocompletion for zsh, add option --without-zsh to skip"
+echo
+[ ! "$installPdf" = '' ] || echo "Skipping PDF manual, add option --with-pdf to install"
+[ ! "$installInfo" = '' ] || echo "Skipping info manual"
+[ ! "$installMan" = '' ] || echo "Skipping English manpage manual"
+[ ! "$installManEs" = '' ] || echo "Skipping Spanish manpage manual, add option --with-man-es to install"
+[ ! "$installBash" = '' ] || echo "Skipping autocompletion for GNU Bash"
+[ ! "$installFish" = '' ] || echo "Skipping autocompletion for fish"
+[ ! "$installZsh" = '' ] || echo "Skipping autocompletion for zsh"
+echo
+
+
+
+function makeMakefile()
+{
+ echo 'PREFIX='\'"$PREFIX"\'
+ echo 'INSTALLDIR="$(DESTDIR)$(PREFIX)"'
+ echo 'SED_PREFIX=$$(sed -e '\''s/\//\\\//g'\'' <<<$(PREFIX))'
+ echo
+ echo 'default: '"$compileMethods"
+ echo
+ echo 'all: core truncater quotes manpages infomanual ponysaycompletion ponythinkcompletion'
+ echo
+
+ echo "core:"
+ correctPrefix 'ponysay.py'
+ echo
+
+ echo "truncater:"
+ echo -en '\t'
+ echo '$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o "truncater" "truncater.c"'
+ echo
+
+ echo "quotes:"
+ echo -en '\t' ; echo 'mkdir -p quotes'
+ echo -en '\t' ; echo 'for ponies in $$(cat ponyquotes/ponies); do \'
+ echo -en '\t' ; echo ' for pony in $$(echo $$ponies | sed -e '\''s/+/ /g'\''); do \'
+ echo -en '\t' ; echo ' echo '\''Generating quote files for '\''"$$pony"; \'
+ echo -en '\t' ; echo ' for file in $$(ls "ponyquotes/" | grep "$$pony\\.*"); do \'
+ echo -en '\t' ; echo ' if [ -f "ponyquotes/$$file" ]; then \'
+ echo -en '\t' ; echo ' cp "ponyquotes/"$$file "quotes/"$$ponies'\''.'\''$$(echo $$file | cut -d '\''.'\'' -f 2) \'
+ echo -en '\t' ; echo ';fi;done;done;done'
+ echo
+
+ echo 'manpages:'
+ gzCompress $manFiles
+ echo
+
+ echo 'infomanual:'
+ echo -en '\t'
+ echo 'makeinfo "manuals/ponysay.texinfo"'
+ gzCompress 'ponysay.info'
+ echo
+
+ echo 'ponysaycompletion:'
+ correctPrefix $completions
+ echo
+
+ echo 'ponythinkcompletion: ponysaycompletion'
+ thinkCompletion $completions
+ echo
+
+ echo 'install-min: core truncater quotes'
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/"'
+ for dir in $shareDirs; do
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/'"$dir"'"'
+ echo -en '\t' ; echo 'cp -P "'"$dir"'/"*.* "$(INSTALLDIR)/share/ponysay/'"$dir"'/"'
+ done
+ echo
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/bin/"'
+ echo -en '\t' ; echo 'install "ponysay" "$(INSTALLDIR)/bin/ponysay"'
+ echo -en '\t' ; echo 'install "ponysay.py" "$(INSTALLDIR)/bin/ponysay.py"'
+ echo -en '\t' ; echo 'ln -sf "ponysay" "$(INSTALLDIR)/bin/ponythink"'
+ echo -en '\t' ; echo 'ln -sf "ponysay.py" "$(INSTALLDIR)/bin/ponythink.py"'
+ echo
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/lib/ponysay/"'
+ echo -en '\t' ; echo 'install -s "truncater" "$(INSTALLDIR)/lib/ponysay/truncater"'
+ echo
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/licenses/ponysay/"'
+ for file in $licenseFiles; do
+ echo -en '\t'
+ echo 'install "'"$file"'" "$(INSTALLDIR)/share/licenses/ponysay/'"$file"'"'
+ done
+ echo
+ echo -en '\t' ; echo 'mkdir -p $(DESTDIR)/var/cache/ponysay/'
+ echo -en '\t' ; echo 'chmod 777 $(DESTDIR)/var/cache/ponysay/'
+ echo
+
+ for completion in $completions; do
+ shell="${completion##*/}"
+ shell="${shell%%-*}"
+ thinkfile="${completion%%.*}-think.${completion##*.}"
+ shelldir='share/'"$(getcompdir $shell)"'/'
+ echo 'install-'"$shell"': ponysaycompletion ponythinkcompletion'
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/'"$shelldir"'"'
+ echo -en '\t' ; echo 'install "'"$completion"'" "$(INSTALLDIR)/'"$shelldir$(getcompfile $shell ponysay)"'"'
+ echo -en '\t' ; echo 'install "'"$thinkfile"'" "$(INSTALLDIR)/'"$shelldir$(getcompfile $shell ponythink)"'"'
+ echo
+ installedFiles="$installedFiles $shelldir$(getcompfile $shell ponysay) $shelldir$(getcompfile $shell ponythink)"
+ done
+
+ echo 'install-pdf:'
+ echo -en '\t'
+ echo 'install "ponysay.pdf" "$(INSTALLDIR)/doc/ponysay.pdf"'
+ echo
+
+ echo 'install-info: infomanual'
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/info"'
+ echo -en '\t' ; echo 'install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponysay.info.gz"'
+ echo -en '\t' ; echo 'install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponythink.info.gz"'
+ echo -en '\t' ; echo 'install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description='"$INFODESC"' "$(INSTALLDIR)/share/info/ponysay.info.gz"'
+ echo -en '\t' ; echo 'install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description='"$INFODESC"' "$(INSTALLDIR)/share/info/ponythink.info.gz"'
+ echo
+
+ for man in $manFiles; do
+ lang="${man##*manpage}"
+ lang="${lang%%.6}"
+ mandir="${lang/\.//}"
+ echo 'install-man'"${lang/\./-}"': manpages'
+ echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/man'"$mandir"'/man6"'
+ echo -en '\t' ; echo 'install "'"$man"'.gz" "$(INSTALLDIR)/share/man'"$mandir"'/man6/ponysay.6.gz"'
+ echo -en '\t' ; echo 'ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man'"$mandir"'/man6/ponythink.6.gz"'
+ echo
+ installedFiles="$installedFiles share/man$mandir/man6/ponysay.6.gz share/man$mandir/man6/ponythink.6.gz"
+ done
+
+ echo
+ echo 'install: '"$installMethods"
+ echo -en '\t' ; echo '@echo -e \\n\\n\'
+ cat <<EOF
+'/--------------------------------------------------\\\\\n'\\
+'| ___ |\\n'\\
+'| / (_) o |\\n'\\
+'| \\__ _ _ __ |\\n'\\
+'| / / |/ | | / \\_| | |\\n'\\
+'| \\___/ | |_/|/\\__/ \\_/|/ |\\n'\\
+'| /| /| |\\n'\\
+'| \\| \\| |\\n'\\
+'| ____ |\\n'\\
+'| | _ \\ ___ _ __ _ _ ___ __ _ _ _ |\\n'\\
+'| | |_) |/ _ \\ | '\\''_ \\ | | | |/ __| / _\` || | | | |\n'\\
+'| | __/| (_) || | | || |_| |\\__ \\| (_| || |_| | |\\n'\\
+'| |_| \\___/ |_| |_| \\__, ||___/ \\__,_| \\__, | |\\n'\\
+'| |___/ |___/ |\\n'\\
+'\\\\--------------------------------------------------/'
+EOF
+ echo -en '\t' ; echo '@echo dummy | ./ponysay -f ./`if [[ "$$TERM" = "linux" ]]; then echo ttyponies; else echo ponies; fi`/pinkiecannon.pony | tail --lines=30 ; echo -e \\n'
+ echo
+
+ echo 'uninstall:'
+ echo -en '\t' ; echo 'if [ -d "$(DESTDIR)/var/cache/ponysay" ]; then rm -rf "$(INSTALLDIR)/var/cache/ponysay"; fi'
+ for old in $installedDirs; do
+ echo -en '\t'
+ echo 'if [ -d "$(INSTALLDIR)/'"$old"'" ]; then rm -rf "$(INSTALLDIR)/'"$old"'"; fi'
+ done
+ for old in $installedFiles; do
+ echo -en '\t'
+ echo 'if [ -f "$(INSTALLDIR)/'"$old"'" ]; then unlink "$(INSTALLDIR)/'"$old"'"; fi'
+ done
+ echo
+
+ echo 'clean:'
+ for old in $compiledDirs; do
+ echo -en '\t'
+ echo 'if [ -d "'"$old"'" ]; then rm -rf "'"$old"'"; fi'
+ done
+ for old in $compiledFiles; do
+ echo -en '\t'
+ echo 'if [ -f "'"$old"'" ]; then rm -f "'"$old"'"; fi'
+ done
+ echo
+
+ echo 'uninstall-old:'
+ for old in $oldInstalledDirs; do
+ echo -en '\t'
+ echo 'if [ -d "$(INSTALLDIR)/'"$old"'" ]; then rm -rf "$(INSTALLDIR)/'"$old"'"; fi'
+ done
+ for old in $oldInstalledFiles; do
+ echo -en '\t'
+ echo 'if [ -f "$(INSTALLDIR)/'"$old"'" ]; then unlink "$(INSTALLDIR)/'"$old"'"; fi'
+ done
+ echo
+
+ echo 'clean-old:'
+ for old in $oldCompiledDirs; do
+ echo -en '\t'
+ echo 'if [ -d "'"$old"'" ]; then rm -rf "'"$old"'"; fi'
+ done
+ for old in $oldCompiledFiles; do
+ echo -en '\t'
+ echo 'if [ -f "'"$old"'" ]; then rm -f "'"$old"'"; fi'
+ done
+ echo
+
+ cat <<EOF
+## Scripts for maintainers
+
+ttyponies:
+ mkdir -p "ttyponies"
+ for pony in \$\$(ls --color=no "ponies/"); do \\
+ echo "building ttypony: \$\$pony" ;\\
+ if [ \`readlink "ponies/\$\$pony"\` = "" ]; then \\
+ ponysay2ttyponysay < "ponies/\$\$pony" | tty2colourfultty -c 1 -e > "ttyponies/\$\$pony" ;\\
+ git add "ttyponies/\$\$pony" ;\\
+ elif [ ! -f "ttyponies/\$\$pony" ]; then \\
+ ln -s \`readlink "ponies/\$\$pony"\` "ttyponies/\$\$pony" ;\\
+ git add "ttyponies/\$\$pony" ;\\
+ fi \\
+ done
+
+pdfmanual:
+ texi2pdf "manuals/ponysay.texinfo"
+ git add "manuals/ponysay.texinfo" "ponysay.pdf"
+ for ext in \`echo aux cp cps fn ky log pg toc tp vr\`; do \\
+ (if [ -f "ponysay.\$\$ext" ]; then unlink "ponysay.\$\$ext"; fi); \\
+ done
+ if [ -d "ponysay.t2d" ]; then rm -r "ponysay.t2d"; fi
+
+EOF
+}
+
+makeMakefile > Makefile
+
diff --git a/dev/bin/ponysay b/dev/bin/ponysay
deleted file mode 120000
index c19b7f1..0000000
--- a/dev/bin/ponysay
+++ /dev/null
@@ -1 +0,0 @@
-../../ponysay \ No newline at end of file
diff --git a/dev/lib/ponysay/linklist.pl b/dev/lib/ponysay/linklist.pl
deleted file mode 120000
index 36373a0..0000000
--- a/dev/lib/ponysay/linklist.pl
+++ /dev/null
@@ -1 +0,0 @@
-../../../linklist.pl \ No newline at end of file
diff --git a/dev/lib/ponysay/list.pl b/dev/lib/ponysay/list.pl
deleted file mode 120000
index 3062411..0000000
--- a/dev/lib/ponysay/list.pl
+++ /dev/null
@@ -1 +0,0 @@
-../../../list.pl \ No newline at end of file
diff --git a/dev/lib/ponysay/pq4ps b/dev/lib/ponysay/pq4ps
deleted file mode 120000
index a13c205..0000000
--- a/dev/lib/ponysay/pq4ps
+++ /dev/null
@@ -1 +0,0 @@
-../../../pq4ps \ No newline at end of file
diff --git a/dev/lib/ponysay/pq4ps-list.pl b/dev/lib/ponysay/pq4ps-list.pl
deleted file mode 120000
index c6915d4..0000000
--- a/dev/lib/ponysay/pq4ps-list.pl
+++ /dev/null
@@ -1 +0,0 @@
-../../../pq4ps-list.pl \ No newline at end of file
diff --git a/dev/lib/ponysay/pq4ps.pl b/dev/lib/ponysay/pq4ps.pl
deleted file mode 120000
index 97a27cc..0000000
--- a/dev/lib/ponysay/pq4ps.pl
+++ /dev/null
@@ -1 +0,0 @@
-../../../pq4ps.pl \ No newline at end of file
diff --git a/dev/share/ponysay/ponies b/dev/share/ponysay/ponies
deleted file mode 120000
index b317951..0000000
--- a/dev/share/ponysay/ponies
+++ /dev/null
@@ -1 +0,0 @@
-../../../ponies \ No newline at end of file
diff --git a/dev/share/ponysay/quotes b/dev/share/ponysay/quotes
deleted file mode 120000
index d9c9006..0000000
--- a/dev/share/ponysay/quotes
+++ /dev/null
@@ -1 +0,0 @@
-../../../quotes \ No newline at end of file
diff --git a/dev/share/ponysay/ttyponies b/dev/share/ponysay/ttyponies
deleted file mode 120000
index a96a071..0000000
--- a/dev/share/ponysay/ttyponies
+++ /dev/null
@@ -1 +0,0 @@
-../../../ttyponies \ No newline at end of file
diff --git a/linklist.pl b/linklist.pl
deleted file mode 100755
index c0377aa..0000000
--- a/linklist.pl
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/perl
-
-# ponysaylist
-# Prints a list of ponies in columns
-#
-# Licensed under WTFPL
-# See COPYING for details
-
-# Author: Mattias Andrée, maandree@kth.se
-# spider-mario
-
-
-use strict;
-use warnings;
-use utf8;
-
-my %hash;
-
-{
- local @ARGV = @ARGV;
- while ((my ($source, $target), @ARGV) = @ARGV) {
- unless ($source eq $target) {
- push @{$hash{$target}}, $source;
- }
- }
-}
-
-while ((my ($source, $target), @ARGV) = @ARGV) {
- if ($source eq $target) {
- my @list = @{$hash{$source} // []};
- print $source;
- print ' (', join(' ', @list), ')' if @list;
- print "\n";
- }
-}
diff --git a/list.pl b/list.pl
deleted file mode 100755
index 2004484..0000000
--- a/list.pl
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env perl
-
-# ponysaylist
-# Prints a list of ponies in columns
-#
-# Licensed under WTFPL
-# See COPYING for details
-
-# Author: Mattias Andrée, maandree@kth.se
-# spider-mario
-
-
-use strict;
-use warnings;
-use utf8;
-use feature qw(say);
-use integer;
-use List::Util qw(max);
-
-my $scrw = shift @ARGV // 1;
-
-#for (@ARGV) {
-# # Format names from pony names
-# s/(?<=[a-z])(?=[A-Z])/ /;
-# s/_(.*)/\t($1)/;
-#}
-
-my $maxw = max 1, map {length} @ARGV;
-
-my $cols = max 1, (($scrw + 2) / ($maxw + 2));
-
-my @list = map {sprintf "%-${maxw}s", $_} @ARGV;
-
-my $rows = (@list + $cols - 1) / $cols;
-
-my @rowlist;
-for my $i (0 .. $#list) {
- push @{$rowlist[$i % $rows]}, $list[$i];
-}
-
-say join ' ', @$_ for @rowlist;
diff --git a/manuals/manpage.6 b/manuals/manpage.6
index af8fe2e..a9d5d33 100644
--- a/manuals/manpage.6
+++ b/manuals/manpage.6
@@ -104,7 +104,8 @@ Bugs can be reported in <\fBhttps://github.com/erkin/ponysay/issues\fP>.
.br
.SH AUTHOR
ponysay was written by Erkin Batu Altunbaş <erkinbatu@gmail.com>
-with major contributions from Mattias Andrée, Sven-Hendrik Haase, Jan Alexander Steffens et al.
+with contributions from Mattias Andrée, Elis Axelsson, Sven-Hendrik Haase,
+Pablo Lezaeta, Jan Alexander Steffens et al.
.\" See file CREDITS for full list.
.PP
This manual page was originally written by Louis Taylor <kragniz@gmail.com>
diff --git a/manuals/manpage.es.6 b/manuals/manpage.es.6
index 79e037d..e2188d1 100644
--- a/manuals/manpage.es.6
+++ b/manuals/manpage.es.6
@@ -108,7 +108,8 @@ Los bugs pueden ser reportados en
.br
.SH AUTOR
ponysay fue escrito por Erkin Batu Altunbaş <erkinbatu@gmail.com>
-con la ayuda de Mattias Andrée, Sven-Hendrik Haase, Jan Alexander Steffens y otros.
+con la ayuda de Mattias Andrée, Elis Axelsson, Sven-Hendrik Haase,
+Pablo Lezaeta, Jan Alexander Steffens y otros.
.\" vea el archivo CREDITS para la lista completa.
.PP
Este manual originalmente fue escrito por Louis Taylor <kragniz@gmail.com>
diff --git a/manuals/ponysay.texinfo b/manuals/ponysay.texinfo
index af4fcb2..84272c4 100644
--- a/manuals/ponysay.texinfo
+++ b/manuals/ponysay.texinfo
@@ -8,7 +8,7 @@
@documentlanguage en
@finalout
@c %**end of header
-@set VERSION 1.4.1
+@set VERSION 2.0
@copying
This manual is for ponysay
@@ -117,15 +117,21 @@ Otherwise @command{ponysay} and @command{ponythink} is the same thing.
Parse the following arguments as parts of @code{@var{message}}.
@item -h
+@itemx --help
@cindex @command{-h}
+@cindex @command{--help}
Show summary of options.
@item -v
+@item --verion
@cindex @command{-v}
+@cindex @command{--version}
Show version of program.
@item -f PONY
+@itemx --pony PONY
@cindex @command{-f}
+@cindex @command{--pony}
Specify the pony that should printed, this can either be a file name or
a pony name printed by @command{ponysay -l}. If it is a file name with
a relative path and does not include a `@code{/}', it must begin with
@@ -133,8 +139,13 @@ a relative path and does not include a `@code{/}', it must begin with
multiple times to specify a set of ponies from which one will be selected
randomly. If no pony is specified one will be selected randomly.
+If you have @command{util-say} installed, you can use .png-files as the
+arguments for this options.
+
@item -q [PONY...]
+@itemx --quote [PONY...]
@cindex @command{-q}
+@cindex @command{--quote}
By using this option, a pony will be printed with quotes from her in My Little Pony:
Friendship is Magic. The pony will be selected randomly, unless at least one pony
is added as an argument after @command{-q}. If one or more ponies are added after
@@ -143,19 +154,25 @@ This option requires the extension @command{ponyquotes4ponysay}, which
is included by default since version 1.2.
@item -W COLUMN
+@itemx --wrap COLUMN
@cindex @command{-W}
+@cindex @command{--wrap}
Specify the screen column where the message should be wrapped,
this is by default 40, which is inherited from @command{cowsay}.
@item -l
+@itemx --list
@cindex @command{-l}
+@cindex @command{--list}
Lists all installed ponies. If the extension @command{ponyquotes4ponysay}
is installed the ponies which have quotes, i.e. can be used with the
@command{-q} option, will be mark by being printed in bold or bright
(depending on the terminal.)
@item -L
+@itemx --linklist
@cindex @command{-L}
+@cindex @command{--altlist}
Lists all installed ponies. If the extension @command{ponyquotes4ponysay}
is installed the ponies which have quotes, i.e. can be used with the
@command{-q} option, will be mark by being printed in bold or bright
@@ -226,7 +243,7 @@ to @command{ponypipe}: @url{http://www.reddit.com/r/mylittlelinux/comments/srixi
If you use TTY and have a custom colour palette, you should also add to your
@code{~/.bashrc}, before @code{fortune | ponysay}:
@example
-[[ "$TERM" = "linux" ]] &&
+[ "$TERM" = "linux" ] &&
function ponysay
@{ exec ponysay "$@@"
#RESET PALETTE HERE
@@ -249,7 +266,7 @@ So before opening @command{screen} you use set @code{$TERM} to @code{xterm-256co
if you are using a terminal with support for @code{xterm}'s 256 colours; this
can be done by adding to your @code{~/.bashrc}:
@example
-[[ "$TERM" = "xterm" ]] &&
+[ "$TERM" = "xterm" ] &&
function screen
@{ export TERM="xterm-256color"
exec screen "$@@"
@@ -303,10 +320,10 @@ are not running @command{ponysay} under TTY.
@cindex replace cowsay
If you want to use another program than @command{cowsay} (the first
@command{cowsay} found in @code{$PATH}), you can export @code{PONYSAY_COWSAY}
-with the value of that program. If, and only if, @code{PONYSAY_COWSAY} does
-not have any value, @command{cowsay} is patch with @code{use utf8;} to the
-beginning. The @code{use utf8;} patch is introduced to make it easier to
-customise cowsay.
+with the value of that program. In earlier versions than version 2.0: If, and
+only if, @code{PONYSAY_COWSAY} does not have any value, @command{cowsay} is
+patch with @code{use utf8;} to the beginning. The @code{use utf8;} patch is
+introduced to make it easier to customise cowsay.
@code{PONYSAY_COWTHINK} will be used instead of @code{PONYSAY_COWSAY} if
you run @command{ponythink}.
@@ -448,20 +465,14 @@ properties that makes a picture good.
@table @option
@item bash
-Required for the main script [file: @command{ponysay}].
+Required for the glue script.
@item cowsay
This is a wrapper for @command{cowsay}.
@item coreutils
-The main script [file: @command{ponysay}] uses @command{stty}, @command{cut},
-@command{ls}, @command{cat}, @command{sort}, @command{readlink}, @command{pwd},
-@command{head} and @command{tail}.
-@item sed
-@cindex @command{-l}
-@cindex @command{-L}
-Used to remove @code{.pony} from pony names when running @command{ponysay -l}
-and @command{ponysay -L}.
-@item perl
-Required to run @command{ponysay -l} and @command{ponysay -L}.
+@command{stty} is used to determine the size of the terminal,
+other parts of Coreutils will not be needed for long
+@item python
+Python version 3 is the primary language of the program
@end table
@node Optional runtime dependencies
@@ -470,19 +481,21 @@ Required to run @command{ponysay -l} and @command{ponysay -L}.
@cindex optional dependencies
@table @option
-@item ponyquotes4ponysay
-@cindex ponyquotes4ponysay
-@cindex @command{-q}
-For support of My Little Pony quotes with associated pony: the @code{-q} option.
-It can be downloaded at @url{https://github.com/maandree/ponyquotes4ponysay}.
+@item util-say
+@cindex @command{util-say}
+@cindex kms
+@cindex tty
+@cindex linux vt
+For improved TTY support for user with custom colour palette and KMS support.
+It can be downloaded at @url{https://github.com/maandree/util-say}.
-Since version 1.2, this module is included in ponysay. You can edit ponysay's
-@code{Makefile} to remove it.
+@cindex png images
+@cindex images, png
+@cindex portable network graphics
+For ther purpose of simplying for pony contributors, @command{ponysay}
+supports using .png-images (note that the file must not miss the
+@code{.png} in the file) in addition of .pony-files or pony names.
-@item kmsponies4ponysay
-@cindex kmsponies4ponysay
-For improved TTY support for user with custom colour palette and KMS support.
-It can be downloaded at @url{https://github.com/maandree/kmsponies4ponysay}.
@end table
@@ -499,6 +512,8 @@ Required to run the make script.
@item coreutils
The make script uses @command{install}, @command{unlink}, @command{rm}, @command{ln},
@command{mkdir} and @command{cp}.
+@item sed
+Used on the make system.
@item texinfo
@itemx info
@command{texinfo} and @command{info} are required if you want this @command{info} manual.
@@ -543,7 +558,7 @@ It can be downloaded at @url{https://github.com/maandree/util-say}.
@menu
* Installations basics:: The basics of installations.
-* Custom installations:: Installation customisations.
+* Custom installations:: Installation customisation.
@end menu
@node Installations basics
@@ -561,17 +576,19 @@ for bleeding edge, or from @url{https://github.com/erkin/ponysay/tags} for relea
If you have @command{git} you @command{clone} the project URL
@url{https://github.com/erkin/ponysay.git}.
-In the terminal,@command{cd} into the ponysay directory and execute
-@command{make install}. This will install @command{ponysay} into the
+In the terminal, @command{cd} into the ponysay directory and execute
+@command{./configure && make install}. This will install @command{ponysay} into the
@code{/usr}, meaning you may need to run @command{make install} as root,
e.g. by running @command{sudo make install}.
Now you will be to use ponysay, run: @command{ponysay "I am just the cutest pony!"},
or if have a specific pony in your mind: @command{ponysay -f pinkie "Partay!~"}.
+@cindex manpage translations
@command{ponysay} comes with this @command{info} manual and a manpage in section 6,
@command{man 6 ponysay} (or just @command{man ponysay}). The manpage is also available
-in Spanish: @command{man -L es 6 ponysay}.
+in Spanish: @command{man -L es 6 ponysay}. The install the Spanish manual add the
+option @command{--with-man-es} when running @command{./configure}.
@node Custom installations
@@ -579,42 +596,64 @@ in Spanish: @command{man -L es 6 ponysay}.
@cindex customised installations
@cindex installation customisation
@cindex make
-
-A basic installation will install everyting @command{ponysay} has to offer, except
-the prebuild PDF manual. If you want to install the PDF manual, which is by default
-installed as a @command{info} manual, you can run @command{make install-pdf}.
-@command{make install-pdf} has no require means and will install the PDF manual, and
-only the PDF manual, to @code{/usr/doc/ponysay.pdf}.
-
-If you want to perform a regular installation, but without the @command{info} manual
-you can run @command{make install-no-info}. It is also possible to install each part
-independently; running @command{make install-min} will install the core of
-@command{ponysay}, which is the minimal set that can installed without generating
-errors or problems. After perform the core installaton whether are some other install
-commands:
-
+@cindex @command{./configure}
+@cindex configure
+
+@cindex @command{--everything}
+A basic installation will install everything @command{ponysay} has to offer, except
+the prebuilt PDF manual and translated manpages. If you want to install exactly
+everything add the option @command{--everything} when running @command{./configure}.
+
+@cindex @command{--with-pdf}
+@cindex PDF manual, with
+@cindex @command{--without-man}
+@cindex manpage, without
+@cindex @command{--without-info}
+@cindex @command{info} manual, without
+@cindex @command{--with-man-LANG}
+@cindex manpage translations
+After @command{--everything} it is possible to remove unwanted parts, this can
+of cause be done without @command{--everything}. If you want to install the
+PDF manual to @code{/usr/doc/ponysay.pdf} add the option @command{--with-pdf} when
+running @command{./configure}. To install a manpage translation add
+@command{--with-man-LANG} and substitute the the language code for @code{LANG}.
+Currently the only translation is Spanish with the language code @code{es}.
+If you do not want the English manpage add the option @command{--without-man}.
+If you do not want the @command{info} manual add the option @command{--without-info}.
+
+
+The following argumentless options are also recognised:
@itemize @bullet
-@item @command{make install-bash}
-will install completion for @command{ponysay} and shell GNU Bash.
-@item @command{make install-fish}
-will install completion for @command{ponysay} and shell @command{fish}.
-@item @command{make install-zsh}
-will install completion for @command{ponysay} and shell @command{zsh}.
-@item @command{make install-info}
-will install the @command{info} manual, this will enable the command @command{info ponysay}.
-@item @command{make install-man}
-will install the English manpage, which is a small to the point manual that is
-a bit more helpful @command{ponysay --help}. This will enable the command
-@command{man ponysay} and @command{man 6 ponysay}.
-@item @command{make install-man-es}
-will install a Spanish translation of the manpage. To read it you execute
-@command{man -L es ponysay} or @command{man -L es 6 ponysay}.
+@item @command{--without-bash}
+@cindex @command{--without-bash}
+@cindex @command{bash}, without
+will skip installation of auto-completion for @command{ponysay} and the
+GNU Bourne-again shell, @command{bash}.
+@item @command{--without-fish}
+@cindex @command{--without-fish}
+@cindex @command{fish}, without
+will skip installation of auto-completion for @command{ponysay} and the
+Friendly interactive shell, @command{fish}.
+@item @command{--without-zsh}
+@cindex @command{--without-zsh}
+@cindex @command{zsh}, without
+will skip installation of auto-completion for @command{ponysay} and the
+shell @command{zsh}.
@end itemize
+@cindex @command{--prefix=TARGET}
+@cindex @code{/usr/games}
The program is by default installed in @code{/usr}, if you want another target
-directory, you can add @code{PREFIX} when running @command{make}. For example
-to install @command{ponysay} in @code{/usr/games} you build the program by
-running @command{make PREFIX=/usr/games}, and alike for installation and uninstallation.
+directory, you can add @command{--prefix=TARGET} when running @command{./configure}.
+For example to install @command{ponysay} in @code{/usr/games} you build the
+program by running @command{./configure --prefix=/usr/games}, and alike for
+installation and uninstallation. Notice the @command{=} cannot be substituted
+with white space.
+
+@cindex @command{--info-desc=DESCRIPTION}
+If you are not using @command{--without-info} you can add
+@command{--info-desc=DESCRIPTION} to specify the description @command{info}
+which provide when listing commands.
@node Arch Linux
@@ -622,8 +661,8 @@ running @command{make PREFIX=/usr/games}, and alike for installation and uninsta
@cindex arch linux
The official Arch Linux package repositories contains @command{ponysay} as
-@code{community/ponysay}. The Arch Linux User Repository (AUR) contains a bleeding edge
-git version of @command{ponysay} as @code{ponysay-git}.
+@code{community/ponysay}. The Arch Linux User Repository (AUR) contains a bleeding
+edge git version of @command{ponysay} as @code{ponysay-git}.
@node Gentoo Linux
@@ -649,15 +688,11 @@ and a PPA can be found at @url{https://launchpad.net/~blazemore/+archive/ponysay
If you did not install @command{ponysay} with a package manager, but rather
manually from the upstream, you can uninstall it by running @command{make uninstall}.
-Do not forget @code{PREFIX} if it is not installed in @code{/usr}, see
-@ref{Custom installations}.
Well written package manages will uninstall files that the package is no longer
using, i.e. if deleted, moved or renamed. To uninstall files that are not longer
used, by the currently installed version you will need that versions @code{Makefile}.
To perform the uninstallion of old filed run @command{make uninstall-old}.
-Do not forget @code{PREFIX} if it is not installed in @code{/usr}, see
-@ref{Custom installations}.
@@ -683,8 +718,8 @@ are enabled when other packages are installed.
@command{ponyquotes4ponysay} is a package that adds support for MLP:FiM quotes that are
displayed with the associated ponies. See @ref{Invoking ponysay} for more information.
-As of version 1.2 @command{ponyquotes4ponysay} is included in @command{ponysay}, but can easily
-be removed, but is still available at @url{https://github.com/maandree/ponyquotes4ponysay}.
+As of version 1.2 @command{ponyquotes4ponysay} is included in @command{ponysay},
+but is still available at @url{https://github.com/maandree/ponyquotes4ponysay}.
@node kmsponies4ponysay
@@ -700,7 +735,7 @@ be removed, but is still available at @url{https://github.com/maandree/ponyquote
@cindex .bashrc
@command{kmsponies4ponysay} is an extension for TTY users that have a custom TTY colour
-palette and KMS support. KMS is supported on must computers, but due to lack of published
+palette and KMS support. KMS is supported on most computers, but due to lack of published
specifications Nvidea drivers does not support KMS. @command{kmsponies4ponysay} can be
downloaded at @url{https://github.com/maandree/kmsponies4ponysay}.
@@ -718,7 +753,7 @@ Assuming you have a function in your @code{~/.bashrc}, to reset the colour palet
you set it to last time in the terminal, named @command{reset-palette}, your @code{~/.bashrc}
should, for example, contain:
@example
-[[ "$TERM" = "linux" ]] &&
+[ "$TERM" = "linux" ] &&
function ponysay
@{ export PONYSAY_KMS_PALETTE="`reset-palette`"
exec ponysay "$@@"
@@ -727,6 +762,9 @@ should, for example, contain:
@command{kmsponies4ponysay} uses @code{/var/cache/kmsponies4ponysay/} for cache space.
+As of version 2.0 @command{kmsponies4ponysay} is included in @command{ponysay},
+but is still available at @url{https://github.com/maandree/kmsponies4ponysay}.
+
@node Inner workings
@@ -739,6 +777,7 @@ should, for example, contain:
* Printing in TTY with KMS:: Printing in TTY with KMS.
* Truncation:: Output truncation.
* Languages:: Selection of languages.
+* Shell auto-completion:: Things make auto-completion simplier.
@end menu
@@ -817,13 +856,37 @@ sequences after the first character after the initial escape if it is not either
@cindex script languages
@cindex programming languages
-Ponysay is written primarily in GNU Bash shell script (POSIX compliant); the truncater
-is however written in C, because it is simple, fast, does not pose addition dependencies,
-and is easy to do byte hacking in.
+Before version 2.0 @command{ponysay} was written primarily in GNU Bash script
+(POSIX compliant); the truncater was however written in C, because it is simple,
+fast, does not pose addition dependencies, and is easy to do byte hacking in.
+
+Sometimes shell is too slow, in these cases Perl was used; Perl was already
+required by cowsay, is similar to shell, but also supports hash tables.
+
+However since version 2.0 we are trying to move from all there languages
+and only use Python 3.
+
+
+@node Shell auto-completion
+@section Shell auto-completion
+@cindex auto-completion, inner workings
+@cindex shell, auto-completion
+@cindex @command{--onelist}
+@cindex @command{--quoters}
+
+To make it easier to write auto-completion for shells, @command{ponysay} supports
+the two options @command{--onelist} and @command{--quoters}, which has not short
+versions.
+
+Executing @command{ponysay --onelist} will list every available pony,
+independent of where it is located, the output is a sorted and consists only
+of one pony per line.
+
+@command{ponysay --quoters} work just as @command{ponysay --onelist}, excepts
+it limites the ponies to those that have quotes. Ponies that have qoutes,
+but does not exist, i.e. does not have a .pony-file, are not listed.
-Sometimes shell is too slow, in these cases [that exist today] Perl is used; Perl
-is already required by cowsay, is similar to shell, but also supports hash tables.
-[maandree: I actually learned Perl just for this.]
+Auto-completion scripts should not suggest these options.
@@ -892,6 +955,17 @@ To be able to run @command{make -B ttyponies} you must have the packages listed
@cindex versions
@cindex previous releases
+@heading Version 2.0
+
+@itemize @bullet
+@item
+Makefile is generated by running @command{./configure}.
+@item
+All Perl scripts and almost all Bash are reimplemented in one Python 3 script.
+@item
+kmsponies4ponysay is included.
+@end itemize
+
@heading Version 1.4.1
@itemize @bullet
@@ -1188,26 +1262,28 @@ First release.
@node Ponysay contributors
@appendix Ponysay contributors
-Active developers of ponysay:
+Active developers and major contributors of ponysay:
@itemize @bullet
-@item Erkin Batu Altunbaş
-@item Mattias Andrée
-@item Sven-Hendrik Haase
-@item Pablo Lezaeta
-@item Jan Alexander Steffens
+@item Erkin ``erkin'' Batu Altunbaş
+@item Mattias ``maandree'' Andrée
+@item Elis ``etu'' Axelsson
+@item Sven-Hendrik ``svenstaro'' Haase
+@item Pablo ``jristz'' Lezaeta
+@item Jan Alexander ``heftig'' Steffens
@end itemize
@*
Patchers and other contributors of ponysay:
@itemize @bullet
-@item Elis Axelsson
-@item Duane Bekaert
-@item Kyah Rindlisbacher
-@item James Ross-Gowan
-@item Louis Taylor
-@item Jannis
+@item Duane ``Marneus68'' Bekaert
+@item Kyah ``L-four'' Rindlisbacher
+@item James ``rossy2401'' Ross-Gowan
+@item Louis ``kragniz'' Taylor
+@item Jannis ``sycoso''
+@item ``spider-mario''
@end itemize
+
@node Ponysay license
@appendix Ponysay license
@@ -1219,11 +1295,15 @@ You have the four essential freedoms:
@item
The freedom to run the program, for any purpose (freedom 0).
@item
-The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
+The freedom to study how the program works, and change it so it does your
+computing as you wish (freedom 1). Access to the source code is a precondition
+for this.
@item
The freedom to redistribute copies so you can help your neighbour (freedom 2).
@item
-The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
+The freedom to distribute copies of your modified versions to others (freedom 3).
+By doing this you can give the whole community a chance to benefit from your
+changes. Access to the source code is a precondition for this.
@end itemize
@*
diff --git a/manuals/ponysay_front.xcf b/manuals/ponysay_front.xcf
index e8877ad..6a15242 100644
--- a/manuals/ponysay_front.xcf
+++ b/manuals/ponysay_front.xcf
Binary files differ
diff --git a/quotes/applebloom.0 b/ponyquotes/applebloom.0
index 03d8212..03d8212 100644
--- a/quotes/applebloom.0
+++ b/ponyquotes/applebloom.0
diff --git a/quotes/applebloom.1 b/ponyquotes/applebloom.1
index 38d6e6a..38d6e6a 100644
--- a/quotes/applebloom.1
+++ b/ponyquotes/applebloom.1
diff --git a/quotes/applebloom.2 b/ponyquotes/applebloom.2
index 5daed92..5daed92 100644
--- a/quotes/applebloom.2
+++ b/ponyquotes/applebloom.2
diff --git a/quotes/applebloom.3 b/ponyquotes/applebloom.3
index cb7db46..cb7db46 100644
--- a/quotes/applebloom.3
+++ b/ponyquotes/applebloom.3
diff --git a/quotes/applebloom.4 b/ponyquotes/applebloom.4
index bdd34ed..bdd34ed 100644
--- a/quotes/applebloom.4
+++ b/ponyquotes/applebloom.4
diff --git a/quotes/applebloom.5 b/ponyquotes/applebloom.5
index 1f944f6..1f944f6 100644
--- a/quotes/applebloom.5
+++ b/ponyquotes/applebloom.5
diff --git a/quotes/applebloom.6 b/ponyquotes/applebloom.6
index 430eee6..430eee6 100644
--- a/quotes/applebloom.6
+++ b/ponyquotes/applebloom.6
diff --git a/quotes/applebloom.7 b/ponyquotes/applebloom.7
index a905bce..a905bce 100644
--- a/quotes/applebloom.7
+++ b/ponyquotes/applebloom.7
diff --git a/quotes/applebloom.8 b/ponyquotes/applebloom.8
index 825dd18..825dd18 100644
--- a/quotes/applebloom.8
+++ b/ponyquotes/applebloom.8
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.0 b/ponyquotes/applejack.0
index dd8add8..dd8add8 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.0
+++ b/ponyquotes/applejack.0
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.1 b/ponyquotes/applejack.1
index ced7b5f..ced7b5f 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.1
+++ b/ponyquotes/applejack.1
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.2 b/ponyquotes/applejack.2
index 375b1ef..375b1ef 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.2
+++ b/ponyquotes/applejack.2
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.3 b/ponyquotes/applejack.3
index c4afd03..c4afd03 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.3
+++ b/ponyquotes/applejack.3
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.4 b/ponyquotes/applejack.4
index d2e10cd..d2e10cd 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.4
+++ b/ponyquotes/applejack.4
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.5 b/ponyquotes/applejack.5
index 0b61e0f..0b61e0f 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.5
+++ b/ponyquotes/applejack.5
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.6 b/ponyquotes/applejack.6
index 357df3b..357df3b 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.6
+++ b/ponyquotes/applejack.6
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.7 b/ponyquotes/applejack.7
index 005f0db..005f0db 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.7
+++ b/ponyquotes/applejack.7
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.8 b/ponyquotes/applejack.8
index 5110763..5110763 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.8
+++ b/ponyquotes/applejack.8
diff --git a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.9 b/ponyquotes/applejack.9
index f10e5fd..f10e5fd 100644
--- a/quotes/applejack+applejackscarecrow+fillyjack+fillyjacktravel.9
+++ b/ponyquotes/applejack.9
diff --git a/quotes/bigmac.0 b/ponyquotes/bigmac.0
index 7445a30..7445a30 100644
--- a/quotes/bigmac.0
+++ b/ponyquotes/bigmac.0
diff --git a/quotes/bigmac.1 b/ponyquotes/bigmac.1
index 06053c4..06053c4 100644
--- a/quotes/bigmac.1
+++ b/ponyquotes/bigmac.1
diff --git a/quotes/bigmac.2 b/ponyquotes/bigmac.2
index 0aa01b2..0aa01b2 100644
--- a/quotes/bigmac.2
+++ b/ponyquotes/bigmac.2
diff --git a/quotes/bigmac.3 b/ponyquotes/bigmac.3
index 9948362..9948362 100644
--- a/quotes/bigmac.3
+++ b/ponyquotes/bigmac.3
diff --git a/quotes/bigmac.4 b/ponyquotes/bigmac.4
index 8ec8add..8ec8add 100644
--- a/quotes/bigmac.4
+++ b/ponyquotes/bigmac.4
diff --git a/quotes/bonbon+bonbonstand.0 b/ponyquotes/bonbon.0
index 839902e..839902e 100644
--- a/quotes/bonbon+bonbonstand.0
+++ b/ponyquotes/bonbon.0
diff --git a/quotes/bonbon+bonbonstand.1 b/ponyquotes/bonbon.1
index 32815d5..32815d5 100644
--- a/quotes/bonbon+bonbonstand.1
+++ b/ponyquotes/bonbon.1
diff --git a/quotes/braeburn.0 b/ponyquotes/braeburn.0
index fcc35f9..fcc35f9 100644
--- a/quotes/braeburn.0
+++ b/ponyquotes/braeburn.0
diff --git a/quotes/braeburn.1 b/ponyquotes/braeburn.1
index ec1f49b..ec1f49b 100644
--- a/quotes/braeburn.1
+++ b/ponyquotes/braeburn.1
diff --git a/quotes/braeburn.2 b/ponyquotes/braeburn.2
index 0b774c2..0b774c2 100644
--- a/quotes/braeburn.2
+++ b/ponyquotes/braeburn.2
diff --git a/quotes/carrot+carrottop+goldenharvest.0 b/ponyquotes/carrot.0
index 5a98017..5a98017 100644
--- a/quotes/carrot+carrottop+goldenharvest.0
+++ b/ponyquotes/carrot.0
diff --git a/quotes/carrot+carrottop+goldenharvest.1 b/ponyquotes/carrot.1
index 5b907f0..5b907f0 100644
--- a/quotes/carrot+carrottop+goldenharvest.1
+++ b/ponyquotes/carrot.1
diff --git a/quotes/celestia+fillistia+fillycelestia+celestiasmall.0 b/ponyquotes/celestia.0
index 20ae8ff..20ae8ff 100644
--- a/quotes/celestia+fillistia+fillycelestia+celestiasmall.0
+++ b/ponyquotes/celestia.0
diff --git a/quotes/celestia+fillistia+fillycelestia+celestiasmall.1 b/ponyquotes/celestia.1
index 626fab8..626fab8 100644
--- a/quotes/celestia+fillistia+fillycelestia+celestiasmall.1
+++ b/ponyquotes/celestia.1
diff --git a/quotes/celestia+fillistia+fillycelestia+celestiasmall.2 b/ponyquotes/celestia.2
index 14197a9..14197a9 100644
--- a/quotes/celestia+fillistia+fillycelestia+celestiasmall.2
+++ b/ponyquotes/celestia.2
diff --git a/quotes/celestia+fillistia+fillycelestia+celestiasmall.3 b/ponyquotes/celestia.3
index 2b94ed5..2b94ed5 100644
--- a/quotes/celestia+fillistia+fillycelestia+celestiasmall.3
+++ b/ponyquotes/celestia.3
diff --git a/quotes/celestia+fillistia+fillycelestia+celestiasmall.4 b/ponyquotes/celestia.4
index 5b50c4f..5b50c4f 100644
--- a/quotes/celestia+fillistia+fillycelestia+celestiasmall.4
+++ b/ponyquotes/celestia.4
diff --git a/quotes/cheerilee+cheerilee80.0 b/ponyquotes/cheerilee.0
index 48be0dc..48be0dc 100644
--- a/quotes/cheerilee+cheerilee80.0
+++ b/ponyquotes/cheerilee.0
diff --git a/quotes/cheerilee+cheerilee80.1 b/ponyquotes/cheerilee.1
index 57f711f..57f711f 100644
--- a/quotes/cheerilee+cheerilee80.1
+++ b/ponyquotes/cheerilee.1
diff --git a/quotes/derpy+derpysit+derpystand+derpystandwing.0 b/ponyquotes/derpy.0
index b7a3483..b7a3483 100644
--- a/quotes/derpy+derpysit+derpystand+derpystandwing.0
+++ b/ponyquotes/derpy.0
diff --git a/quotes/derpy+derpysit+derpystand+derpystandwing.1 b/ponyquotes/derpy.1
index e7118ad..e7118ad 100644
--- a/quotes/derpy+derpysit+derpystand+derpystandwing.1
+++ b/ponyquotes/derpy.1
diff --git a/quotes/derpy+derpysit+derpystand+derpystandwing.2 b/ponyquotes/derpy.2
index 6c9a555..6c9a555 100644
--- a/quotes/derpy+derpysit+derpystand+derpystandwing.2
+++ b/ponyquotes/derpy.2
diff --git a/quotes/derpy+derpysit+derpystand+derpystandwing.3 b/ponyquotes/derpy.3
index d7a7444..d7a7444 100644
--- a/quotes/derpy+derpysit+derpystand+derpystandwing.3
+++ b/ponyquotes/derpy.3
diff --git a/quotes/derpy+derpysit+derpystand+derpystandwing.4 b/ponyquotes/derpy.4
index 4f4b2b7..4f4b2b7 100644
--- a/quotes/derpy+derpysit+derpystand+derpystandwing.4
+++ b/ponyquotes/derpy.4
diff --git a/quotes/diamondtiara.0 b/ponyquotes/diamondtiara.0
index be1726b..be1726b 100644
--- a/quotes/diamondtiara.0
+++ b/ponyquotes/diamondtiara.0
diff --git a/quotes/discord+discordpuppetmaster+discordamused.0 b/ponyquotes/discord.0
index 5b9d768..5b9d768 100644
--- a/quotes/discord+discordpuppetmaster+discordamused.0
+++ b/ponyquotes/discord.0
diff --git a/quotes/doctor+doctornohat+timeturner.0 b/ponyquotes/doctor.0
index 347d379..347d379 100644
--- a/quotes/doctor+doctornohat+timeturner.0
+++ b/ponyquotes/doctor.0
diff --git a/quotes/fancypants.0 b/ponyquotes/fancypants.0
index 0ed95a4..0ed95a4 100644
--- a/quotes/fancypants.0
+++ b/ponyquotes/fancypants.0
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.0 b/ponyquotes/fluttershy.0
index 485061e..485061e 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.0
+++ b/ponyquotes/fluttershy.0
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.1 b/ponyquotes/fluttershy.1
index 7e11619..7e11619 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.1
+++ b/ponyquotes/fluttershy.1
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.10 b/ponyquotes/fluttershy.10
index 419fff3..419fff3 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.10
+++ b/ponyquotes/fluttershy.10
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.11 b/ponyquotes/fluttershy.11
index 503f864..503f864 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.11
+++ b/ponyquotes/fluttershy.11
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.12 b/ponyquotes/fluttershy.12
index 1e48e6f..1e48e6f 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.12
+++ b/ponyquotes/fluttershy.12
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.13 b/ponyquotes/fluttershy.13
index 45c7b3d..45c7b3d 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.13
+++ b/ponyquotes/fluttershy.13
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.14 b/ponyquotes/fluttershy.14
index 7b3b6b4..7b3b6b4 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.14
+++ b/ponyquotes/fluttershy.14
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.15 b/ponyquotes/fluttershy.15
index a4793c6..a4793c6 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.15
+++ b/ponyquotes/fluttershy.15
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.16 b/ponyquotes/fluttershy.16
index 8f9f529..8f9f529 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.16
+++ b/ponyquotes/fluttershy.16
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.17 b/ponyquotes/fluttershy.17
index 3c8135e..3c8135e 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.17
+++ b/ponyquotes/fluttershy.17
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.18 b/ponyquotes/fluttershy.18
index 24c1e07..24c1e07 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.18
+++ b/ponyquotes/fluttershy.18
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.19 b/ponyquotes/fluttershy.19
index 58cae0b..58cae0b 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.19
+++ b/ponyquotes/fluttershy.19
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.2 b/ponyquotes/fluttershy.2
index 17ebff9..17ebff9 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.2
+++ b/ponyquotes/fluttershy.2
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.20 b/ponyquotes/fluttershy.20
index e9de4bb..e9de4bb 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.20
+++ b/ponyquotes/fluttershy.20
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.21 b/ponyquotes/fluttershy.21
index 59b8082..59b8082 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.21
+++ b/ponyquotes/fluttershy.21
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.22 b/ponyquotes/fluttershy.22
index 4aaf93c..4aaf93c 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.22
+++ b/ponyquotes/fluttershy.22
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.23 b/ponyquotes/fluttershy.23
index cd260f3..cd260f3 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.23
+++ b/ponyquotes/fluttershy.23
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.24 b/ponyquotes/fluttershy.24
index e326d8c..e326d8c 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.24
+++ b/ponyquotes/fluttershy.24
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.25 b/ponyquotes/fluttershy.25
index 733433d..733433d 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.25
+++ b/ponyquotes/fluttershy.25
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.26 b/ponyquotes/fluttershy.26
index 582195f..582195f 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.26
+++ b/ponyquotes/fluttershy.26
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.27 b/ponyquotes/fluttershy.27
index 4dd0e9a..4dd0e9a 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.27
+++ b/ponyquotes/fluttershy.27
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.28 b/ponyquotes/fluttershy.28
index c273715..c273715 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.28
+++ b/ponyquotes/fluttershy.28
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.29 b/ponyquotes/fluttershy.29
index b85254b..b85254b 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.29
+++ b/ponyquotes/fluttershy.29
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.3 b/ponyquotes/fluttershy.3
index 5418338..5418338 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.3
+++ b/ponyquotes/fluttershy.3
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.30 b/ponyquotes/fluttershy.30
index afd7b96..afd7b96 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.30
+++ b/ponyquotes/fluttershy.30
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.31 b/ponyquotes/fluttershy.31
index 91117d4..91117d4 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.31
+++ b/ponyquotes/fluttershy.31
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.4 b/ponyquotes/fluttershy.4
index 7145ac6..7145ac6 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.4
+++ b/ponyquotes/fluttershy.4
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.5 b/ponyquotes/fluttershy.5
index 23a7c99..23a7c99 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.5
+++ b/ponyquotes/fluttershy.5
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.6 b/ponyquotes/fluttershy.6
index 5822dec..5822dec 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.6
+++ b/ponyquotes/fluttershy.6
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.7 b/ponyquotes/fluttershy.7
index 7056f69..7056f69 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.7
+++ b/ponyquotes/fluttershy.7
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.8 b/ponyquotes/fluttershy.8
index 3904535..3904535 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.8
+++ b/ponyquotes/fluttershy.8
diff --git a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.9 b/ponyquotes/fluttershy.9
index 2a092b8..2a092b8 100644
--- a/quotes/fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy.9
+++ b/ponyquotes/fluttershy.9
diff --git a/quotes/gilda+gildastand.0 b/ponyquotes/gilda.0
index 0d41909..0d41909 100644
--- a/quotes/gilda+gildastand.0
+++ b/ponyquotes/gilda.0
diff --git a/quotes/gilda+gildastand.1 b/ponyquotes/gilda.1
index d58e2bf..d58e2bf 100644
--- a/quotes/gilda+gildastand.1
+++ b/ponyquotes/gilda.1
diff --git a/quotes/gilda+gildastand.2 b/ponyquotes/gilda.2
index ace9c5f..ace9c5f 100644
--- a/quotes/gilda+gildastand.2
+++ b/ponyquotes/gilda.2
diff --git a/quotes/gilda+gildastand.3 b/ponyquotes/gilda.3
index 925a677..925a677 100644
--- a/quotes/gilda+gildastand.3
+++ b/ponyquotes/gilda.3
diff --git a/quotes/gilda+gildastand.4 b/ponyquotes/gilda.4
index b261d18..b261d18 100644
--- a/quotes/gilda+gildastand.4
+++ b/ponyquotes/gilda.4
diff --git a/quotes/gilda+gildastand.5 b/ponyquotes/gilda.5
index e3621f4..e3621f4 100644
--- a/quotes/gilda+gildastand.5
+++ b/ponyquotes/gilda.5
diff --git a/quotes/granny+grannychair+grannysleep.0 b/ponyquotes/granny.0
index 7948107..7948107 100644
--- a/quotes/granny+grannychair+grannysleep.0
+++ b/ponyquotes/granny.0
diff --git a/ponyquotes/ironwill.0 b/ponyquotes/ironwill.0
new file mode 100644
index 0000000..7cf295f
--- /dev/null
+++ b/ponyquotes/ironwill.0
@@ -0,0 +1 @@
+Never apologise, when you can criticise.
diff --git a/ponyquotes/ironwill.1 b/ponyquotes/ironwill.1
new file mode 100644
index 0000000..99e0a3d
--- /dev/null
+++ b/ponyquotes/ironwill.1
@@ -0,0 +1 @@
+Treat me like a push-over, and you will get the once-over.
diff --git a/ponyquotes/ironwill.2 b/ponyquotes/ironwill.2
new file mode 100644
index 0000000..fb1cdaa
--- /dev/null
+++ b/ponyquotes/ironwill.2
@@ -0,0 +1 @@
+When somepony tries to block, show them that you rock.
diff --git a/ponyquotes/ironwill.3 b/ponyquotes/ironwill.3
new file mode 100644
index 0000000..cfa9be6
--- /dev/null
+++ b/ponyquotes/ironwill.3
@@ -0,0 +1 @@
+Maybes are for babies.
diff --git a/ponyquotes/ironwill.4 b/ponyquotes/ironwill.4
new file mode 100644
index 0000000..c384f04
--- /dev/null
+++ b/ponyquotes/ironwill.4
@@ -0,0 +1 @@
+You laugh at me? I wrath at you!
diff --git a/ponyquotes/ironwill.5 b/ponyquotes/ironwill.5
new file mode 100644
index 0000000..69afa39
--- /dev/null
+++ b/ponyquotes/ironwill.5
@@ -0,0 +1 @@
+Cut in line? I will take what is mine.
diff --git a/ponyquotes/ironwill.6 b/ponyquotes/ironwill.6
new file mode 100644
index 0000000..bf925a2
--- /dev/null
+++ b/ponyquotes/ironwill.6
@@ -0,0 +1 @@
+You apologise, I penalise.
diff --git a/ponyquotes/ironwill.7 b/ponyquotes/ironwill.7
new file mode 100644
index 0000000..9ec8a05
--- /dev/null
+++ b/ponyquotes/ironwill.7
@@ -0,0 +1 @@
+You make me lose, I blow my fuse.
diff --git a/quotes/lily.0 b/ponyquotes/lily.0
index cb35efc..cb35efc 100644
--- a/quotes/lily.0
+++ b/ponyquotes/lily.0
diff --git a/quotes/lily.1 b/ponyquotes/lily.1
index eec6d6b..eec6d6b 100644
--- a/quotes/lily.1
+++ b/ponyquotes/lily.1
diff --git a/quotes/luna+lunafly.0 b/ponyquotes/luna.0
index 2675aa3..2675aa3 100644
--- a/quotes/luna+lunafly.0
+++ b/ponyquotes/luna.0
diff --git a/quotes/luna+lunafly.1 b/ponyquotes/luna.1
index 57c7e73..57c7e73 100644
--- a/quotes/luna+lunafly.1
+++ b/ponyquotes/luna.1
diff --git a/quotes/luna+lunafly.2 b/ponyquotes/luna.2
index 871c3a4..871c3a4 100644
--- a/quotes/luna+lunafly.2
+++ b/ponyquotes/luna.2
diff --git a/quotes/luna+lunafly.3 b/ponyquotes/luna.3
index 5667400..5667400 100644
--- a/quotes/luna+lunafly.3
+++ b/ponyquotes/luna.3
diff --git a/quotes/luna+lunafly.4 b/ponyquotes/luna.4
index bf93e70..bf93e70 100644
--- a/quotes/luna+lunafly.4
+++ b/ponyquotes/luna.4
diff --git a/quotes/luna+lunafly.5 b/ponyquotes/luna.5
index ef8599d..ef8599d 100644
--- a/quotes/luna+lunafly.5
+++ b/ponyquotes/luna.5
diff --git a/quotes/luna+lunafly.6 b/ponyquotes/luna.6
index 602cd76..602cd76 100644
--- a/quotes/luna+lunafly.6
+++ b/ponyquotes/luna.6
diff --git a/quotes/nightmare.0 b/ponyquotes/nightmare.0
index 1588fe2..1588fe2 100644
--- a/quotes/nightmare.0
+++ b/ponyquotes/nightmare.0
diff --git a/quotes/nightmare.1 b/ponyquotes/nightmare.1
index b4319ec..b4319ec 100644
--- a/quotes/nightmare.1
+++ b/ponyquotes/nightmare.1
diff --git a/quotes/nightmare.2 b/ponyquotes/nightmare.2
index e022af3..e022af3 100644
--- a/quotes/nightmare.2
+++ b/ponyquotes/nightmare.2
diff --git a/quotes/nightmare.3 b/ponyquotes/nightmare.3
index ef4e471..ef4e471 100644
--- a/quotes/nightmare.3
+++ b/ponyquotes/nightmare.3
diff --git a/quotes/nightmare.4 b/ponyquotes/nightmare.4
index aed400a..aed400a 100644
--- a/quotes/nightmare.4
+++ b/ponyquotes/nightmare.4
diff --git a/quotes/nightmare.5 b/ponyquotes/nightmare.5
index 1d24f09..1d24f09 100644
--- a/quotes/nightmare.5
+++ b/ponyquotes/nightmare.5
diff --git a/quotes/photofinish.0 b/ponyquotes/photofinish.0
index bf9bf62..bf9bf62 100644
--- a/quotes/photofinish.0
+++ b/ponyquotes/photofinish.0
diff --git a/quotes/photofinish.1 b/ponyquotes/photofinish.1
index a3cbcc4..a3cbcc4 100644
--- a/quotes/photofinish.1
+++ b/ponyquotes/photofinish.1
diff --git a/quotes/photofinish.2 b/ponyquotes/photofinish.2
index 814d6f1..814d6f1 100644
--- a/quotes/photofinish.2
+++ b/ponyquotes/photofinish.2
diff --git a/quotes/photofinish.3 b/ponyquotes/photofinish.3
index b0e5b5d..b0e5b5d 100644
--- a/quotes/photofinish.3
+++ b/ponyquotes/photofinish.3
diff --git a/quotes/photofinish.4 b/ponyquotes/photofinish.4
index 572ea13..572ea13 100644
--- a/quotes/photofinish.4
+++ b/ponyquotes/photofinish.4
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.0 b/ponyquotes/pinkie.0
index a7b29c2..a7b29c2 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.0
+++ b/ponyquotes/pinkie.0
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.1 b/ponyquotes/pinkie.1
index 33f8399..33f8399 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.1
+++ b/ponyquotes/pinkie.1
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.10 b/ponyquotes/pinkie.10
index 9654c0c..9654c0c 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.10
+++ b/ponyquotes/pinkie.10
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.11 b/ponyquotes/pinkie.11
index aadb94d..aadb94d 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.11
+++ b/ponyquotes/pinkie.11
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.12 b/ponyquotes/pinkie.12
index 1050549..1050549 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.12
+++ b/ponyquotes/pinkie.12
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.13 b/ponyquotes/pinkie.13
index 9570839..9570839 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.13
+++ b/ponyquotes/pinkie.13
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.14 b/ponyquotes/pinkie.14
index 4f22a20..4f22a20 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.14
+++ b/ponyquotes/pinkie.14
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.15 b/ponyquotes/pinkie.15
index bb18e3d..bb18e3d 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.15
+++ b/ponyquotes/pinkie.15
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.16 b/ponyquotes/pinkie.16
index d39c011..d39c011 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.16
+++ b/ponyquotes/pinkie.16
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.17 b/ponyquotes/pinkie.17
index f3dbbe5..f3dbbe5 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.17
+++ b/ponyquotes/pinkie.17
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.18 b/ponyquotes/pinkie.18
index 2ca9cd1..2ca9cd1 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.18
+++ b/ponyquotes/pinkie.18
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.19 b/ponyquotes/pinkie.19
index 466fc20..466fc20 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.19
+++ b/ponyquotes/pinkie.19
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.2 b/ponyquotes/pinkie.2
index ec015bd..ec015bd 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.2
+++ b/ponyquotes/pinkie.2
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.20 b/ponyquotes/pinkie.20
index 717de8a..717de8a 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.20
+++ b/ponyquotes/pinkie.20
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.21 b/ponyquotes/pinkie.21
index 1e6e640..1e6e640 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.21
+++ b/ponyquotes/pinkie.21
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.22 b/ponyquotes/pinkie.22
index 3924bad..3924bad 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.22
+++ b/ponyquotes/pinkie.22
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.23 b/ponyquotes/pinkie.23
index c33b5a7..c33b5a7 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.23
+++ b/ponyquotes/pinkie.23
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.24 b/ponyquotes/pinkie.24
index f7e25aa..f7e25aa 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.24
+++ b/ponyquotes/pinkie.24
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.25 b/ponyquotes/pinkie.25
index dc7901b..dc7901b 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.25
+++ b/ponyquotes/pinkie.25
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.26 b/ponyquotes/pinkie.26
index 0d337f8..0d337f8 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.26
+++ b/ponyquotes/pinkie.26
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.27 b/ponyquotes/pinkie.27
index 171d490..171d490 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.27
+++ b/ponyquotes/pinkie.27
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.28 b/ponyquotes/pinkie.28
index ea4873b..ea4873b 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.28
+++ b/ponyquotes/pinkie.28
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.29 b/ponyquotes/pinkie.29
index bd89fa4..bd89fa4 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.29
+++ b/ponyquotes/pinkie.29
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.3 b/ponyquotes/pinkie.3
index 0121eb5..0121eb5 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.3
+++ b/ponyquotes/pinkie.3
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.30 b/ponyquotes/pinkie.30
index 78a0976..78a0976 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.30
+++ b/ponyquotes/pinkie.30
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.31 b/ponyquotes/pinkie.31
index be356a2..be356a2 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.31
+++ b/ponyquotes/pinkie.31
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.32 b/ponyquotes/pinkie.32
index a04b606..a04b606 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.32
+++ b/ponyquotes/pinkie.32
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.33 b/ponyquotes/pinkie.33
index abb6b8a..abb6b8a 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.33
+++ b/ponyquotes/pinkie.33
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.34 b/ponyquotes/pinkie.34
index c349f48..c349f48 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.34
+++ b/ponyquotes/pinkie.34
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.35 b/ponyquotes/pinkie.35
index ae4da82..ae4da82 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.35
+++ b/ponyquotes/pinkie.35
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.36 b/ponyquotes/pinkie.36
index bcc5542..bcc5542 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.36
+++ b/ponyquotes/pinkie.36
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.4 b/ponyquotes/pinkie.4
index 3e7abb7..3e7abb7 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.4
+++ b/ponyquotes/pinkie.4
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.5 b/ponyquotes/pinkie.5
index fef7225..fef7225 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.5
+++ b/ponyquotes/pinkie.5
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.6 b/ponyquotes/pinkie.6
index 59001e5..59001e5 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.6
+++ b/ponyquotes/pinkie.6
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.7 b/ponyquotes/pinkie.7
index 0314d14..0314d14 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.7
+++ b/ponyquotes/pinkie.7
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.8 b/ponyquotes/pinkie.8
index 0c5b97e..0c5b97e 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.8
+++ b/ponyquotes/pinkie.8
diff --git a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.9 b/ponyquotes/pinkie.9
index 2cae39a..2cae39a 100644
--- a/quotes/pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly.9
+++ b/ponyquotes/pinkie.9
diff --git a/quotes/pipsqueak.0 b/ponyquotes/pipsqueak.0
index 22daed4..22daed4 100644
--- a/quotes/pipsqueak.0
+++ b/ponyquotes/pipsqueak.0
diff --git a/quotes/pipsqueak.1 b/ponyquotes/pipsqueak.1
index 3d2990b..3d2990b 100644
--- a/quotes/pipsqueak.1
+++ b/ponyquotes/pipsqueak.1
diff --git a/quotes/pipsqueak.2 b/ponyquotes/pipsqueak.2
index bd76e6a..bd76e6a 100644
--- a/quotes/pipsqueak.2
+++ b/ponyquotes/pipsqueak.2
diff --git a/ponyquotes/ponies b/ponyquotes/ponies
new file mode 100644
index 0000000..0defad8
--- /dev/null
+++ b/ponyquotes/ponies
@@ -0,0 +1,130 @@
+allie
+aloe
+angel
+applebloom
+applebumkin
+applecore
+applefritter
+applejack+applejackscarecrow+fillyjack+fillyjacktravel
+archer
+berrypunch
+bigmac
+blinkie
+blossomforth
+bonbon+bonbonstand
+boxxy+craftycrate
+braeburn
+caesar
+candymane
+caramel
+carecake
+carrot+carrottop+goldenharvest
+celestia+fillistia+fillycelestia+celestiasmall
+changeling
+cheerilee+cheerilee80
+cherryberry
+chrysalis+changelingqueen
+clyde
+colton
+cottoncloudy
+cupcake
+daisy
+daringdo
+davenport
+derpy+derpysit+derpystand+derpystandwing
+diamondmint
+diamondtiara
+dinky
+discord+discordpuppetmaster+discordamused
+doctor+doctornohat
+elsie
+fancypants
+fido
+cadance+fillycadance
+fillydash+fillydashfly
+flam
+fleurdelis+fleurdelishair+fleurdelislay
+flim
+fluttershy+fluttershygala+fluttershyshy+fluttershystare+fillyshy
+gilda+gildastand
+granny+grannychair+grannysleep
+gummy
+hoity
+horte
+inky
+ironwillwalk
+laflour
+lightning
+lily
+lintsalot
+lotus
+luna+lunafly
+lyra+lyrasit+harpass+heartstrings
+maredowellfly+maredowellgallop
+master
+mayor
+minuette+colgate
+mjolna
+mrssparkle+twilightvelvet
+nightmare
+noteworthy+blues
+octavia
+opal
+orange
+owl
+parasprite
+philomena
+philomenaphoenix
+photofinish
+pinkamina
+pinkie+pinkiecannonfront+pinkiecannon+pinkiebounce+pinkiecannonhappy+pinkiegala+pinkiechicken+pinkiehugfluttershy+pinkiegummy+pinkietongue+pinkiesilly
+pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly
+pipsqueak
+pokey+perry
+rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep
+rainbowshine
+raindrops
+rarity+raritydrama+rarityfly+rarityponder+fillyrarity
+raritysdad+magnum
+raritysmom+pearl
+redheart
+rocky
+rose+roseluck
+rover
+royalguard
+royalnightguard
+ruby+berrypinch
+sapphire
+scootaloo
+screwball
+shadowbolts
+shiningarmor+shiningarmorguard+shiningarmour+shiningarmourguard
+silverspoon
+silverstar
+sindy+powderrouge
+skyra
+snails
+snips
+snowflake+horsepower
+soarin
+soigne
+sparkler+amethyststar
+spike+spikefloat+spikelove+spikemustache
+spitfire
+spot
+stella
+stevenmagnet+stevenmagnettrue
+strongheart
+sue+suedance
+sweetie
+tank
+trixie+trixiestage+trixiestand
+turnip
+twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight
+twist
+vinyl+djpon-3+vın̈yl
+violet+royalribbon
+wildfire
+winona
+woona
+zecora
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.0 b/ponyquotes/rainbow.0
index 94d47fa..94d47fa 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.0
+++ b/ponyquotes/rainbow.0
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.1 b/ponyquotes/rainbow.1
index 4f8cdbb..4f8cdbb 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.1
+++ b/ponyquotes/rainbow.1
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.10 b/ponyquotes/rainbow.10
index eac4d85..eac4d85 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.10
+++ b/ponyquotes/rainbow.10
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.11 b/ponyquotes/rainbow.11
index f84298d..f84298d 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.11
+++ b/ponyquotes/rainbow.11
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.12 b/ponyquotes/rainbow.12
index d4d0052..d4d0052 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.12
+++ b/ponyquotes/rainbow.12
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.13 b/ponyquotes/rainbow.13
index 0671125..0671125 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.13
+++ b/ponyquotes/rainbow.13
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.14 b/ponyquotes/rainbow.14
index b83950e..b83950e 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.14
+++ b/ponyquotes/rainbow.14
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.15 b/ponyquotes/rainbow.15
index 87854f4..87854f4 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.15
+++ b/ponyquotes/rainbow.15
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.16 b/ponyquotes/rainbow.16
index 6132737..6132737 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.16
+++ b/ponyquotes/rainbow.16
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.17 b/ponyquotes/rainbow.17
index 2be4135..2be4135 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.17
+++ b/ponyquotes/rainbow.17
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.18 b/ponyquotes/rainbow.18
index 54beefd..54beefd 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.18
+++ b/ponyquotes/rainbow.18
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.19 b/ponyquotes/rainbow.19
index e389272..e389272 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.19
+++ b/ponyquotes/rainbow.19
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.2 b/ponyquotes/rainbow.2
index 66b1850..66b1850 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.2
+++ b/ponyquotes/rainbow.2
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.20 b/ponyquotes/rainbow.20
index 17d42ea..17d42ea 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.20
+++ b/ponyquotes/rainbow.20
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.21 b/ponyquotes/rainbow.21
index b3fbc1c..b3fbc1c 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.21
+++ b/ponyquotes/rainbow.21
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.3 b/ponyquotes/rainbow.3
index 0892cfa..0892cfa 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.3
+++ b/ponyquotes/rainbow.3
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.4 b/ponyquotes/rainbow.4
index b7b354c..b7b354c 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.4
+++ b/ponyquotes/rainbow.4
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.5 b/ponyquotes/rainbow.5
index c016aad..c016aad 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.5
+++ b/ponyquotes/rainbow.5
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.6 b/ponyquotes/rainbow.6
index 36449a7..36449a7 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.6
+++ b/ponyquotes/rainbow.6
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.7 b/ponyquotes/rainbow.7
index 841b110..841b110 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.7
+++ b/ponyquotes/rainbow.7
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.8 b/ponyquotes/rainbow.8
index f7d2603..f7d2603 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.8
+++ b/ponyquotes/rainbow.8
diff --git a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.9 b/ponyquotes/rainbow.9
index 6b8a6c0..6b8a6c0 100644
--- a/quotes/rainbow+rainbowdrag+rainbowfly+rainbowgala+rainbowsalute+rainbowsleep.9
+++ b/ponyquotes/rainbow.9
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.0 b/ponyquotes/rarity.0
index f8d4e83..f8d4e83 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.0
+++ b/ponyquotes/rarity.0
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.1 b/ponyquotes/rarity.1
index 9fc4a32..9fc4a32 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.1
+++ b/ponyquotes/rarity.1
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.10 b/ponyquotes/rarity.10
index 74bc560..74bc560 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.10
+++ b/ponyquotes/rarity.10
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.11 b/ponyquotes/rarity.11
index 950fe9d..950fe9d 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.11
+++ b/ponyquotes/rarity.11
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.12 b/ponyquotes/rarity.12
index 17501c4..17501c4 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.12
+++ b/ponyquotes/rarity.12
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.13 b/ponyquotes/rarity.13
index 35acf4e..35acf4e 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.13
+++ b/ponyquotes/rarity.13
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.14 b/ponyquotes/rarity.14
index 140612f..140612f 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.14
+++ b/ponyquotes/rarity.14
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.15 b/ponyquotes/rarity.15
index 0103cca..0103cca 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.15
+++ b/ponyquotes/rarity.15
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.16 b/ponyquotes/rarity.16
index 09cf3a4..09cf3a4 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.16
+++ b/ponyquotes/rarity.16
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.17 b/ponyquotes/rarity.17
index 1e08d9f..1e08d9f 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.17
+++ b/ponyquotes/rarity.17
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.18 b/ponyquotes/rarity.18
index 62132d0..62132d0 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.18
+++ b/ponyquotes/rarity.18
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.19 b/ponyquotes/rarity.19
index 9fdab33..9fdab33 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.19
+++ b/ponyquotes/rarity.19
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.2 b/ponyquotes/rarity.2
index a283383..a283383 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.2
+++ b/ponyquotes/rarity.2
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.20 b/ponyquotes/rarity.20
index 85f5ac1..85f5ac1 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.20
+++ b/ponyquotes/rarity.20
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.21 b/ponyquotes/rarity.21
index 9a71b46..9a71b46 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.21
+++ b/ponyquotes/rarity.21
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.22 b/ponyquotes/rarity.22
index b154083..b154083 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.22
+++ b/ponyquotes/rarity.22
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.23 b/ponyquotes/rarity.23
index f821785..f821785 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.23
+++ b/ponyquotes/rarity.23
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.24 b/ponyquotes/rarity.24
index 5ae215b..5ae215b 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.24
+++ b/ponyquotes/rarity.24
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.25 b/ponyquotes/rarity.25
index cf58fe7..cf58fe7 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.25
+++ b/ponyquotes/rarity.25
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.3 b/ponyquotes/rarity.3
index 35b7560..35b7560 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.3
+++ b/ponyquotes/rarity.3
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.4 b/ponyquotes/rarity.4
index 627ac2c..627ac2c 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.4
+++ b/ponyquotes/rarity.4
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.5 b/ponyquotes/rarity.5
index 26ce196..26ce196 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.5
+++ b/ponyquotes/rarity.5
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.6 b/ponyquotes/rarity.6
index 8e43799..8e43799 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.6
+++ b/ponyquotes/rarity.6
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.7 b/ponyquotes/rarity.7
index 6a0b629..6a0b629 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.7
+++ b/ponyquotes/rarity.7
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.8 b/ponyquotes/rarity.8
index 41bd1e8..41bd1e8 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.8
+++ b/ponyquotes/rarity.8
diff --git a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.9 b/ponyquotes/rarity.9
index 29fcd22..29fcd22 100644
--- a/quotes/rarity+raritydrama+rarityfly+rarityponder+fillyrarity.9
+++ b/ponyquotes/rarity.9
diff --git a/quotes/rose+roseluck.0 b/ponyquotes/rose.0
index cb35efc..cb35efc 100644
--- a/quotes/rose+roseluck.0
+++ b/ponyquotes/rose.0
diff --git a/quotes/rose+roseluck.1 b/ponyquotes/rose.1
index 1578fdb..1578fdb 100644
--- a/quotes/rose+roseluck.1
+++ b/ponyquotes/rose.1
diff --git a/quotes/sapphire.0 b/ponyquotes/sapphire.0
index 7b0f7b6..7b0f7b6 100644
--- a/quotes/sapphire.0
+++ b/ponyquotes/sapphire.0
diff --git a/quotes/scootaloo.0 b/ponyquotes/scootaloo.0
index 04eda0a..04eda0a 100644
--- a/quotes/scootaloo.0
+++ b/ponyquotes/scootaloo.0
diff --git a/quotes/scootaloo.1 b/ponyquotes/scootaloo.1
index 1127c86..1127c86 100644
--- a/quotes/scootaloo.1
+++ b/ponyquotes/scootaloo.1
diff --git a/quotes/scootaloo.2 b/ponyquotes/scootaloo.2
index f9e9f99..f9e9f99 100644
--- a/quotes/scootaloo.2
+++ b/ponyquotes/scootaloo.2
diff --git a/quotes/scootaloo.3 b/ponyquotes/scootaloo.3
index 77083c7..77083c7 100644
--- a/quotes/scootaloo.3
+++ b/ponyquotes/scootaloo.3
diff --git a/quotes/scootaloo.4 b/ponyquotes/scootaloo.4
index 1dc554c..1dc554c 100644
--- a/quotes/scootaloo.4
+++ b/ponyquotes/scootaloo.4
diff --git a/quotes/scootaloo.5 b/ponyquotes/scootaloo.5
index a446381..a446381 100644
--- a/quotes/scootaloo.5
+++ b/ponyquotes/scootaloo.5
diff --git a/quotes/scootaloo.6 b/ponyquotes/scootaloo.6
index a02f417..a02f417 100644
--- a/quotes/scootaloo.6
+++ b/ponyquotes/scootaloo.6
diff --git a/quotes/scootaloo.7 b/ponyquotes/scootaloo.7
index 43e020d..43e020d 100644
--- a/quotes/scootaloo.7
+++ b/ponyquotes/scootaloo.7
diff --git a/quotes/silverspoon.0 b/ponyquotes/silverspoon.0
index be1726b..be1726b 100644
--- a/quotes/silverspoon.0
+++ b/ponyquotes/silverspoon.0
diff --git a/quotes/soarin.0 b/ponyquotes/soarin.0
index 65caeab..65caeab 100644
--- a/quotes/soarin.0
+++ b/ponyquotes/soarin.0
diff --git a/quotes/soarin.1 b/ponyquotes/soarin.1
index c0de8df..c0de8df 100644
--- a/quotes/soarin.1
+++ b/ponyquotes/soarin.1
diff --git a/quotes/soarin.2 b/ponyquotes/soarin.2
index a088318..a088318 100644
--- a/quotes/soarin.2
+++ b/ponyquotes/soarin.2
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.0 b/ponyquotes/spike.0
index af9cd04..af9cd04 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.0
+++ b/ponyquotes/spike.0
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.1 b/ponyquotes/spike.1
index c5a95da..c5a95da 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.1
+++ b/ponyquotes/spike.1
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.2 b/ponyquotes/spike.2
index dcd9646..dcd9646 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.2
+++ b/ponyquotes/spike.2
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.3 b/ponyquotes/spike.3
index 5a18e6a..5a18e6a 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.3
+++ b/ponyquotes/spike.3
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.4 b/ponyquotes/spike.4
index eb687b8..eb687b8 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.4
+++ b/ponyquotes/spike.4
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.5 b/ponyquotes/spike.5
index ebddb32..ebddb32 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.5
+++ b/ponyquotes/spike.5
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.6 b/ponyquotes/spike.6
index c98b9af..c98b9af 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.6
+++ b/ponyquotes/spike.6
diff --git a/quotes/spike+spikefloat+spikelove+spikemustache.7 b/ponyquotes/spike.7
index d768642..d768642 100644
--- a/quotes/spike+spikefloat+spikelove+spikemustache.7
+++ b/ponyquotes/spike.7
diff --git a/quotes/spitfire.0 b/ponyquotes/spitfire.0
index 0addcc1..0addcc1 100644
--- a/quotes/spitfire.0
+++ b/ponyquotes/spitfire.0
diff --git a/quotes/sweetie.0 b/ponyquotes/sweetie.0
index b09aac3..b09aac3 100644
--- a/quotes/sweetie.0
+++ b/ponyquotes/sweetie.0
diff --git a/quotes/sweetie.1 b/ponyquotes/sweetie.1
index 46623c9..46623c9 100644
--- a/quotes/sweetie.1
+++ b/ponyquotes/sweetie.1
diff --git a/quotes/sweetie.2 b/ponyquotes/sweetie.2
index 7dc4c66..7dc4c66 100644
--- a/quotes/sweetie.2
+++ b/ponyquotes/sweetie.2
diff --git a/quotes/sweetie.3 b/ponyquotes/sweetie.3
index 27a4932..27a4932 100644
--- a/quotes/sweetie.3
+++ b/ponyquotes/sweetie.3
diff --git a/quotes/sweetie.4 b/ponyquotes/sweetie.4
index a7bc3e7..a7bc3e7 100644
--- a/quotes/sweetie.4
+++ b/ponyquotes/sweetie.4
diff --git a/quotes/sweetie.5 b/ponyquotes/sweetie.5
index 5e96c74..5e96c74 100644
--- a/quotes/sweetie.5
+++ b/ponyquotes/sweetie.5
diff --git a/quotes/sweetie.6 b/ponyquotes/sweetie.6
index 5409ee2..5409ee2 100644
--- a/quotes/sweetie.6
+++ b/ponyquotes/sweetie.6
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.0 b/ponyquotes/trixie.0
index 5d5769d..5d5769d 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.0
+++ b/ponyquotes/trixie.0
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.1 b/ponyquotes/trixie.1
index 49d29b5..49d29b5 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.1
+++ b/ponyquotes/trixie.1
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.2 b/ponyquotes/trixie.2
index 8489cdf..8489cdf 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.2
+++ b/ponyquotes/trixie.2
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.3 b/ponyquotes/trixie.3
index af6b609..af6b609 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.3
+++ b/ponyquotes/trixie.3
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.4 b/ponyquotes/trixie.4
index ebd5c55..ebd5c55 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.4
+++ b/ponyquotes/trixie.4
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.5 b/ponyquotes/trixie.5
index 34d0103..34d0103 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.5
+++ b/ponyquotes/trixie.5
diff --git a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.6 b/ponyquotes/trixie.6
index 01f81bf..01f81bf 100644
--- a/quotes/trixie+trixiestage+trixiestand+lulamoon+trixielulamoon.6
+++ b/ponyquotes/trixie.6
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.0 b/ponyquotes/twilight.0
index 5d95e70..5d95e70 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.0
+++ b/ponyquotes/twilight.0
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.1 b/ponyquotes/twilight.1
index d8438f7..d8438f7 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.1
+++ b/ponyquotes/twilight.1
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.10 b/ponyquotes/twilight.10
index 364903a..364903a 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.10
+++ b/ponyquotes/twilight.10
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.2 b/ponyquotes/twilight.2
index d6bb2d4..d6bb2d4 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.2
+++ b/ponyquotes/twilight.2
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.3 b/ponyquotes/twilight.3
index 8750017..8750017 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.3
+++ b/ponyquotes/twilight.3
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.4 b/ponyquotes/twilight.4
index 880ec3e..880ec3e 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.4
+++ b/ponyquotes/twilight.4
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.5 b/ponyquotes/twilight.5
index d83a6e4..d83a6e4 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.5
+++ b/ponyquotes/twilight.5
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.6 b/ponyquotes/twilight.6
index 6e5463c..6e5463c 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.6
+++ b/ponyquotes/twilight.6
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.7 b/ponyquotes/twilight.7
index a5526ce..a5526ce 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.7
+++ b/ponyquotes/twilight.7
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.8 b/ponyquotes/twilight.8
index ae82b9f..ae82b9f 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.8
+++ b/ponyquotes/twilight.8
diff --git a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.9 b/ponyquotes/twilight.9
index 364f9d3..364f9d3 100644
--- a/quotes/twilight+twilightcrazyfromball+twilightrage+twilightzero+fillytwilight.9
+++ b/ponyquotes/twilight.9
diff --git a/ponyquotes/twiligt.11 b/ponyquotes/twiligt.11
new file mode 100644
index 0000000..ed02231
--- /dev/null
+++ b/ponyquotes/twiligt.11
@@ -0,0 +1 @@
+Cross my heart and hope to fly, stick a cupcake in my ... OW!
diff --git a/ponyquotes/twiligt.12 b/ponyquotes/twiligt.12
new file mode 100644
index 0000000..438af60
--- /dev/null
+++ b/ponyquotes/twiligt.12
@@ -0,0 +1 @@
+Yesyesyesyesyesyesyesyesyesyesyesyesyesyesyesyes!
diff --git a/ponyquotes/twiligt.13 b/ponyquotes/twiligt.13
new file mode 100644
index 0000000..92c88db
--- /dev/null
+++ b/ponyquotes/twiligt.13
@@ -0,0 +1 @@
+Your faithful student, Twilight Sparkle.
diff --git a/ponyquotes/twiligt.14 b/ponyquotes/twiligt.14
new file mode 100644
index 0000000..18c2310
--- /dev/null
+++ b/ponyquotes/twiligt.14
@@ -0,0 +1 @@
+Please don't hate me.
diff --git a/ponyquotes/twiligt.15 b/ponyquotes/twiligt.15
new file mode 100644
index 0000000..9ae10f3
--- /dev/null
+++ b/ponyquotes/twiligt.15
@@ -0,0 +1 @@
+Pardon me, Princess.
diff --git a/ponyquotes/twiligt.16 b/ponyquotes/twiligt.16
new file mode 100644
index 0000000..90629a2
--- /dev/null
+++ b/ponyquotes/twiligt.16
@@ -0,0 +1 @@
+You told me it was all an old pony tale.
diff --git a/ponyquotes/twiligt.17 b/ponyquotes/twiligt.17
new file mode 100644
index 0000000..0a273e9
--- /dev/null
+++ b/ponyquotes/twiligt.17
@@ -0,0 +1 @@
+Look out, here comes Tom!
diff --git a/ponyquotes/twiligt.18 b/ponyquotes/twiligt.18
new file mode 100644
index 0000000..2fab25e
--- /dev/null
+++ b/ponyquotes/twiligt.18
@@ -0,0 +1 @@
+It's the perfect plan.
diff --git a/ponyquotes/twiligt.19 b/ponyquotes/twiligt.19
new file mode 100644
index 0000000..b969d79
--- /dev/null
+++ b/ponyquotes/twiligt.19
@@ -0,0 +1 @@
+We will do everything by the book!
diff --git a/ponyquotes/twiligt.20 b/ponyquotes/twiligt.20
new file mode 100644
index 0000000..7ec946a
--- /dev/null
+++ b/ponyquotes/twiligt.20
@@ -0,0 +1 @@
+Ooh! Doesn't that hurt?
diff --git a/ponyquotes/twiligt.21 b/ponyquotes/twiligt.21
new file mode 100644
index 0000000..69dcd1d
--- /dev/null
+++ b/ponyquotes/twiligt.21
@@ -0,0 +1 @@
+Are you crazy?
diff --git a/ponyquotes/twiligt.22 b/ponyquotes/twiligt.22
new file mode 100644
index 0000000..ec3b22f
--- /dev/null
+++ b/ponyquotes/twiligt.22
@@ -0,0 +1 @@
+I uh, I think I hear my laundry calling! Sorry, gotta go.
diff --git a/quotes/twist.0 b/ponyquotes/twist.0
index 798e4b2..798e4b2 100644
--- a/quotes/twist.0
+++ b/ponyquotes/twist.0
diff --git a/quotes/zecora.0 b/ponyquotes/zecora.0
index 24c23bb..24c23bb 100644
--- a/quotes/zecora.0
+++ b/ponyquotes/zecora.0
diff --git a/quotes/zecora.1 b/ponyquotes/zecora.1
index 82ea422..82ea422 100644
--- a/quotes/zecora.1
+++ b/ponyquotes/zecora.1
diff --git a/quotes/zecora.2 b/ponyquotes/zecora.2
index 894d6c8..894d6c8 100644
--- a/quotes/zecora.2
+++ b/ponyquotes/zecora.2
diff --git a/quotes/zecora.3 b/ponyquotes/zecora.3
index 0465f7a..0465f7a 100644
--- a/quotes/zecora.3
+++ b/ponyquotes/zecora.3
diff --git a/quotes/zecora.4 b/ponyquotes/zecora.4
index 059e881..059e881 100644
--- a/quotes/zecora.4
+++ b/ponyquotes/zecora.4
diff --git a/quotes/zecora.5 b/ponyquotes/zecora.5
index f0723ed..f0723ed 100644
--- a/quotes/zecora.5
+++ b/ponyquotes/zecora.5
diff --git a/quotes/zecora.6 b/ponyquotes/zecora.6
index 2da018c..2da018c 100644
--- a/quotes/zecora.6
+++ b/ponyquotes/zecora.6
diff --git a/ponyquotes4ponysay b/ponyquotes4ponysay
deleted file mode 160000
-Subproject 8147d45117b25ae584a789af5630bdf1ff62ef7
diff --git a/ponysay b/ponysay
index 9936fae..545144e 100755
--- a/ponysay
+++ b/ponysay
@@ -1,294 +1,25 @@
#!/usr/bin/env bash
-VERSION=1.4.1
-
-
-
-# Get bash script directory's parent
INSTALLDIR="$(dirname $( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd ))"
+LIBDIR="$INSTALLDIR/lib/ponysay"
-# Directory for installed media files
-SYSTEMSHARE="$INSTALLDIR/share/ponysay"
-HOMESHARE="${HOME}/.local/share/ponysay"
-
-# Subscripts
-listcmd="$INSTALLDIR/lib/ponysay/list.pl"
-linklistcmd="$INSTALLDIR/lib/ponysay/linklist.pl"
-truncatercmd="$INSTALLDIR/lib/ponysay/truncater"
-quotecmd="$INSTALLDIR/lib/ponysay/pq4ps"
-qlistcmd="$INSTALLDIR/lib/ponysay/pq4ps-list.pl"
-
-pony="*" # Selected pony
-wrap="" # Message wrap column
-ponies=() # Selected ponies
-
-scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2` # Screen width
-scrh=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 1` # Screen height
-
-# KMS ponies extension
-kmscmd=""
-[ "$TERM" = "linux" ] && kmscmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/ponysay2kmsponysay /g'); do if [ -f $c ]; then echo $c; break; fi done)
-[ ! "$kmscmd" = "" ] && TERM="-linux-"
-
-# Directories for installed ponies files
-if [ "$TERM" = "linux" ]; then
- SYSTEMPONIES="$SYSTEMSHARE/ttyponies"
- HOMEPONIES="$HOMESHARE/ttyponies"
-else
- SYSTEMPONIES="$SYSTEMSHARE/ponies"
- HOMEPONIES="$HOMESHARE/ponies"
-fi
-
-# Cowsay script
-if [ ${0} == *ponythink ]; then
- if [ "$PONYSAY_COWTHINK" = "" ]; then
- cmd=cowthink
- customcmd=0
- else
- cmd="$PONYSAY_COWTHINK"
- customcmd=1
- fi
-else
- if [ "$PONYSAY_COWSAY" = "" ]; then
- cmd=cowsay
- customcmd=0
- else
- cmd="$PONYSAY_COWSAY"
- customcmd=1
- fi
-fi
-
-
-
-# Ponysay version print function
-version() {
- echo "ponysay v$VERSION"
-}
-
-# Marks ponies in lists that have quotes
-qoutelist() {
- bash -c "$("$qlistcmd" $("$quotecmd" --list))"
-}
-
-# Pony list function
-list() {
- if [ -d $SYSTEMPONIES ]; then
- echo -e "\\e[01mponyfiles located in $SYSTEMPONIES:\\e[21m"
- perl $listcmd $scrw $(ls --color=no $SYSTEMPONIES | sed -e 's/\.pony$//' | sort) | qoutelist
- fi
- if [ -d $HOMEPONIES ]; then
- echo -e "\\e[01mponyfiles located in $HOMEPONIES:\\e[21m"
- perl $listcmd $scrw $(ls --color=no $HOMEPONIES | sed -e 's/\.pony$//' | sort) | qoutelist
- fi
- if [ ! -d $SYSTEMPONIES ] && [ ! -d $HOMEPONIES ]; then
- echo >&2 "All the ponies are missing! Call the Princess!"
- fi
-}
-
-# Pony list function with symlink map, for one directory
-_linklist() {
- echo -e "\\e[01mponyfiles located in $1:\\e[21m"
- files=$(ls --color=no $1 | sed -e 's/\.pony$//' | sort)
-
- args=""
-
- for file in $files; do
- target="$(readlink $1"/"$file".pony")"
-
- if [ "$target" = "" ]; then
- target=$file
- else
- target=$(echo $target | sed -e 's/^\.\///g' -e 's/\.pony$//g')
- fi
-
- args=$(echo $args $file $target)
- done
-
- perl $listcmd $scrw $(perl $linklistcmd $(echo $args) | sed -e 's/ /_/g') | sed -e 's/_/ /g' | qoutelist
-}
-
-# Pony list function with symlink map, for both directories
-linklist() {
- _linklist $SYSTEMPONIES
-
- if [ -d $HOMEPONIES ]; then
- _linklist $HOMEPONIES
- fi
-}
-
-# Pony quotes
-ponyquotes() {
- [ "$TERM" = "-linux-" ] && TERM="linux"
- "$0" ${wrap:+-W$wrap} $("$quotecmd" $@)
-}
-
-# Usage help print function
-usage() {
- version
- cat <<EOF
-
-Usage:
-${0##*/} [options] [message]
+# The truncater executable
+truncatercmd="$LIBDIR/truncater"
-If [message] is not provided, reads the message from STDIN.
+# Screen width
+scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2`
-Options:
- -v Show version and exit.
- -h Show this help and exit.
- -l List pony files.
- -L List pony files with synonyms inside brackets.
- -q Use the pony quote feature.
- -f[name] Select a pony (either a file name or a pony name.)
- -W[column] The screen column where the message should be wrapped.
-
-See man ponysay(6) for more information.
-EOF
+# Output trunction on width
+function wtrunc {
+ if [[ "$PONYSAY_FULL_WIDTH" = 'yes' ]] || [[ "$PONYSAY_FULL_WIDTH" = 'y' ]] || [[ "$PONYSAY_FULL_WIDTH" = '1' ]] || [[ ! -f $truncatercmd ]]; then
+ cat
+ else
+ $truncatercmd $scrw
+ fi
}
-# Function for printing the ponies and the message
-say() {
- # Ponies use UTF-8 drawing characters. Prevent a Perl warning.
- export PERL_UNICODE=S
-
- # Clear screen in TTY
- ( [ "$TERM" = "linux" ] || [ "$TERM" = "-linux-" ] ) && echo -ne '\e[H\e[2J'
-
- # Set PONYSAY_SHELL_LINES to default if not specified
- [ "$PONYSAY_SHELL_LINES" = "" ] && PONYSAY_SHELL_LINES=2
-
- # Width trunction
- function wtrunc {
- if [ "$PONYSAY_FULL_WIDTH" = 'yes' ] || [ "$PONYSAY_FULL_WIDTH" = 'y' ] || [ "$PONYSAY_FULL_WIDTH" = '1' ]; then
- cat
- else
- if [ -f $truncatercmd ]; then
- $truncatercmd $scrw
- else
- cat
- fi
- fi
- }
-
- # Height trunction, show top
- function htrunchead {
- head --lines=$(( $scrh - $PONYSAY_SHELL_LINES ))
- }
-
- # Height trunction, show bottom
- function htrunctail {
- tail --lines=$(( $scrh - $PONYSAY_SHELL_LINES ))
- }
-
- # Simplification of customisation of cowsay
- if [ $customcmd = 0 ]; then
- function cowcmd {
- pcmd='#!/usr/bin/perl\nuse utf8;'
- ccmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [ -f $c ]; then echo $c; break; fi done)
-
- if [ ${0} == *ponythink ]; then
- cat <(echo -e $pcmd) $ccmd > "/tmp/ponythink"
- perl '/tmp/ponythink' "$@"
- rm '/tmp/ponythink'
- else
- perl <(cat <(echo -e $pcmd) $ccmd) "$@"
- fi
- }
- else
- function cowcmd {
- $cmd "$@"
- }
- fi
-
- # KMS ponies support
- if [ "$kmscmd" = "" ]; then
- function runcmd {
- cowcmd -f "$pony" "$@"
- }
- else
- function runcmd {
- cowcmd -f <($kmscmd "$pony") "$@"
- }
- fi
-
- # Print the pony and the message
- if [ "$TERM" = "linux" ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = 'yes' ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = 'y' ] || [ "$PONYSAY_TRUNCATE_HEIGHT" = '1' ]; then
- if [ "$PONYSAY_BOTTOM" = 'yes' ] || [ "$PONYSAY_BOTTOM" = 'y' ] || [ "$PONYSAY_BOTTOM" = '1' ]; then
- runcmd "${wrap:+-W$wrap}" | wtrunc | htrunctail
- else
- runcmd "${wrap:+-W$wrap}" | wtrunc | htrunchead
- fi
- else
- runcmd "${wrap:+-W$wrap}" | wtrunc
- fi
-}
-
-
-
-# If no stdin and no arguments then print usage and exit
-if [ -t 0 ] && [ $# == 0 ]; then
- usage
- exit
-fi
-
-
-
-# Parse options
-while getopts "f:W:Llhvq" OPT; do
- case ${OPT} in
- v) version; exit ;;
- h) usage; exit ;;
- f) ponies+=( $OPTARG ) ;;
- l) list; exit ;;
- L) linklist; exit ;;
- W) wrap="$OPTARG" ;;
- q) shift $((OPTIND - 1)); ponyquotes "$*"; exit ;;
- \?) usage >&2; exit 1 ;;
- esac
-done
-shift $((OPTIND - 1))
-
-
-# Check for cowsay
-hash $cmd &>/dev/null; if [ $? -ne 0 ]; then
- cat >&2 <<EOF
-You don't seem to have the $cmd program.
-Please install it in order to use this wrapper.
-
-Alternatively, symlink it to '$cmd' in anywhere in \$PATH
-if it actually exists under a different filename.
-EOF
- exit 1
-fi
-
-
-# Select random pony for the set of -f arguments
-if [ ! ${#ponies[@]} == 0 ]; then
- pony="${ponies[$RANDOM%${#ponies[@]}]}"
-fi
-
-
-# Pony not a file? Search for it
-if [ ! -f $pony ]; then
- ponies=()
- [ -d $SYSTEMPONIES ] && ponies+=( "$SYSTEMPONIES"/$pony.pony )
- [ -d $HOMEPONIES ] && ponies+=( "$HOMEPONIES"/$pony.pony )
-
- if (( ${#ponies} < 1 )); then
- echo >&2 "All the ponies are missing! Call the Princess!"
- exit 1
- fi
-
- # Choose a random pony
- pony="${ponies[$RANDOM%${#ponies[@]}]}"
-fi
-
-
-# Print pony with message
-if [ -n "$*" ]; then
- # Handle a message given via arguments
- say <<<"$*"
-else
- # Handle a message given in stdin
- say
-fi
+# Ponies use UTF-8 drawing characters. Prevent a Perl warning.
+export PERL_UNICODE=S
+# Run ponysay
+"$0.py" "$@" | wtrunc
diff --git a/ponysay.pdf b/ponysay.pdf
index 222b1fb..7de4b31 100644
--- a/ponysay.pdf
+++ b/ponysay.pdf
Binary files differ
diff --git a/ponysay.py b/ponysay.py
index 46a3932..f9a87e6 100755
--- a/ponysay.py
+++ b/ponysay.py
@@ -2,13 +2,19 @@
# -*- coding: utf-8 -*-
'''
-ponysay.py - POC of ponysay in python
-Copyright (C) 2012 Elis "etu" Axelsson, Mattias "maandree" Andrée
+ponysay.py - Ponysay, a cowsay wrapper for ponies
+Copyright (C) 2012 Erkin Batu Altunbaş
+
+Authors: Erkin Batu Altunbaş: Project leader, helped write the first implementation
+ Mattias "maandree" Andrée: Major contributor of both implementions
+ Elis "etu" Axelsson: Major contributor of current implemention and patcher of first implementation
+ Sven-Hendrik "svenstaro" Haase: Major contributor first implementation
+ Kyah "L-four" Rindlisbacher: Patched the first implementation
+ Jan Alexander "heftig" Steffens: Major contributor first implementation
License: WTFPL
'''
-import argparse
import os
import sys
import random
@@ -18,7 +24,7 @@ from subprocess import Popen, PIPE
'''
The version of ponysay
'''
-VERSION = "2.0-alpha"
+VERSION = '2.0'
'''
@@ -28,38 +34,128 @@ INSTALLDIR = '/usr'
'''
+The user's home directory
+'''
+HOME = os.environ['HOME']
+
+
+'''
+Whether the program is execute in Linux VT (TTY)
+'''
+linuxvt = os.environ['TERM'] == 'linux'
+
+
+'''
+Whether the script is executed as ponythink
+'''
+isthink = (len(__file__) >= 8) and (__file__[-8:] == 'think.py')
+
+
+'''
+Whether stdin is piped
+'''
+pipelinein = not sys.stdin.isatty()
+
+'''
+Whether stdout is piped
+'''
+pipelineout = False #not sys.stdout.isatty() # currently impossible, we need to get rid of the little shell script first
+
+'''
+Whether stderr is piped
+'''
+pipelineerr = not sys.stderr.isatty()
+
+
+'''
The directories where pony files are stored, ttyponies/ are used if the terminal is Linux VT (also known as TTY)
'''
ponydirs = []
-if os.environ['TERM'] == 'linux': _ponydirs = [INSTALLDIR + '/share/ponysay/ttyponies/', os.environ['HOME'] + '/.local/share/ponysay/ttyponies/']
-else: _ponydirs = [INSTALLDIR + '/share/ponysay/ponies/', os.environ['HOME'] + '/.local/share/ponysay/ponies/' ]
+if linuxvt: _ponydirs = [HOME + '/.local/share/ponysay/ttyponies/', INSTALLDIR + '/share/ponysay/ttyponies/']
+else: _ponydirs = [HOME + '/.local/share/ponysay/ponies/', INSTALLDIR + '/share/ponysay/ponies/' ]
for ponydir in _ponydirs:
if os.path.isdir(ponydir):
ponydirs.append(ponydir)
-parser = argparse.ArgumentParser(description = 'Ponysay, like cowsay with ponies')
-parser.add_argument('-v', '--version', action = 'version', version = '%s %s' % ("ponysay", VERSION))
-parser.add_argument('-l', '--list', action = 'store_true', dest = 'list', help = 'list pony files')
-parser.add_argument('-f', '--pony', action = 'append', dest = 'pony', help = 'select a pony (either a file name or a pony name)')
-parser.add_argument('message', nargs = '?', help = 'message to ponysay')
+'''
+The directories where quotes files are stored
+'''
+quotedirs = []
+_quotedirs = [HOME + '/.local/share/ponysay/quotes/', INSTALLDIR + '/share/ponysay/quotes/']
+for quotedir in _quotedirs:
+ if os.path.isdir(quotedir):
+ quotedirs.append(quotedir)
-args = parser.parse_args()
-class ponysay():
+'''
+This is the mane class of ponysay
+'''
+class Ponysay():
+ '''
+ Starts the part of the program the arguments indicate
+ '''
def __init__(self, args):
- if args.list: self.list()
- else: self.print_pony(args)
+ if (args.argcount == 0) and not pipelinein:
+ args.help()
+ return
+
+ if (args.opts['-l'] is not None) and pipelineout:
+ args.opts['--onelist'] = args.opts['-l']
+ args.opts['-l'] = None
+
+ if args.opts['-h'] is not None: args.help()
+ elif args.opts['--quoters'] is not None: self.quoters()
+ elif args.opts['--onelist'] is not None: self.onelist()
+ elif args.opts['-v'] is not None: self.version()
+ elif args.opts['-l'] is not None: self.list()
+ elif args.opts['-L'] is not None: self.linklist()
+ elif args.opts['-q'] is not None: self.quote(args)
+ else: self.print_pony(args)
+ ##
+ ## Auxiliary methods
+ ##
+
'''
- Returns a set with all ponies that have quotes and is displayable
+ Returns one file with full path, names is filter for names, also accepts filepaths.
+ '''
+ def __getponypath(self, names = None):
+ ponies = {}
+
+ if not names == None:
+ for name in names:
+ if os.path.isfile(name):
+ ponies[name] = name
+
+ for ponydir in ponydirs:
+ for ponyfile in os.listdir(ponydir):
+ pony = ponyfile[:-5]
+ if pony not in ponies:
+ ponies[pony] = ponydir + ponyfile
+
+ if names == None:
+ names = list(ponies.keys())
+
+ pony = names[random.randrange(0, len(names))]
+ if pony not in ponies:
+ sys.stderr.write('I have never heared of any pony named %s\n' % (pony));
+ exit(1)
+ else:
+ return ponies[pony]
+
+
+ '''
+ Returns a set with all ponies that have quotes and are displayable
'''
def __quoters(self):
quotes = []
quoteshash = set()
- _quotes = [item[:item.index('.')] for item in os.listdir(INSTALLDIR + '/share/ponysay/quotes/')]
+ _quotes = []
+ for quotedir in quotedirs:
+ _quotes += [item[:item.index('.')] for item in os.listdir(INSTALLDIR + '/share/ponysay/quotes/')]
for quote in _quotes:
if not quote == '':
if not quote in quoteshash:
@@ -83,7 +179,9 @@ class ponysay():
Returns a list with all (pony, quote file) pairs
'''
def __quotes(self):
- quotes = os.listdir(INSTALLDIR + '/share/ponysay/quotes/')
+ quotes = []
+ for quotedir in quotedirs:
+ quotes += [quotedir + item for item in os.listdir(quotedir)]
rc = []
for ponydir in ponydirs:
@@ -91,19 +189,33 @@ class ponysay():
if not pony[0] == '.':
p = pony[:-5] # remove .pony
for quote in quotes:
- if ('+' + p + '+') in ('+' + quote + '+'):
- rc.append((p, qoute))
+ q = quote[quote.rindex('/') + 1:]
+ q = q[:q.rindex('.')]
+ if ('+' + p + '+') in ('+' + q + '+'):
+ rc.append((p, quote))
return rc
'''
+ Gets the size of the terminal in (rows, columns)
+ '''
+ def __gettermsize(self):
+ termsize = Popen(['stty', 'size'], stdout=PIPE, stdin=sys.stderr).communicate()[0]
+ termsize = termsize.decode('utf8', 'replace')[:-1].split(' ') # [:-1] removes a \n
+ termsize = [int(item) for item in termsize]
+ return termsize
+
+
+ ##
+ ## Listing methods
+ ##
+
+ '''
Lists the available ponies
'''
def list(self):
- termsize = Popen(['stty', 'size'], stdout=PIPE).communicate()[0].decode('utf8', 'replace')[:-1].split(" ")
- termsize = [int(item) for item in termsize]
-
+ termsize = self.__gettermsize()
quoters = self.__quoters()
for ponydir in ponydirs: # Loop ponydirs
@@ -118,42 +230,562 @@ class ponysay():
x = 0
for pony in ponies:
spacing = ' ' * (width - len(pony))
- print(('\033[1m' + pony + '\033[21m' if (pony in quoters) else pony) + spacing, end="") # Print ponyfilename
+ print(('\033[1m' + pony + '\033[21m' if (pony in quoters) else pony) + spacing, end='') # Print ponyfilename
x += width
if x > (termsize[1] - width): # If too wide, make new line
- print();
+ print()
x = 0
- print("\n");
+ print('\n');
+ '''
+ Lists the available ponies with alternatives inside brackets
+ '''
+ def linklist(self):
+ termsize = self.__gettermsize()
+ quoters = self.__quoters()
+
+ for ponydir in ponydirs: # Loop ponydirs
+ print('\033[1mponyfiles located in ' + ponydir + '\033[21m')
+
+ files = os.listdir(ponydir)
+ files = [item[:-5] for item in files] # remove .pony from file name
+ files.sort()
+ pairs = [(item, os.readlink(ponydir + item + '.pony') if os.path.islink(ponydir + item + '.pony') else '') for item in files]
+
+ ponymap = {}
+ for pair in pairs:
+ if pair[1] == '':
+ if pair[0] not in ponymap:
+ ponymap[pair[0]] = []
+ else:
+ target = pair[1][:-5]
+ if '/' in target:
+ target = target[target.rindex('/') + 1:]
+ if target in ponymap:
+ ponymap[target].append(pair[0])
+ else:
+ ponymap[target] = [pair[0]]
+
+ width = 0
+ ponies = []
+ widths = []
+ for pony in ponymap:
+ w = len(pony)
+ item = '\033[1m' + pony + '\033[21m' if (pony in quoters) else pony
+ syms = ponymap[pony]
+ if len(syms) > 0:
+ w += 2 + len(syms)
+ item += ' ('
+ first = True
+ for sym in syms:
+ w += len(sym)
+ if not first:
+ item += ' '
+ else:
+ first = False
+ item += '\033[1m' + sym + '\033[21m' if (sym in quoters) else sym
+ item += ')'
+ ponies.append(item)
+ widths.append(w)
+ if width < w:
+ width = w
+
+ width += 2;
+ x = 0
+ index = 0
+ for pony in ponies:
+ spacing = ' ' * (width - widths[index])
+ index += 1
+ print(pony + spacing, end='') # Print ponyfilename
+ x += width
+ if x > (termsize[1] - width): # If too wide, make new line
+ print()
+ x = 0
+
+ print('\n');
+
+
+ '''
+ Lists with all ponies that have quotes and are displayable
+ '''
+ def quoters(self):
+ last = ''
+ ponies = []
+ for pony in self.__quoters():
+ ponies.append(pony)
+ ponies.sort()
+ for pony in ponies:
+ if not pony == last:
+ last = pony
+ print(pony)
+
+
+ '''
+ Lists the available ponies one one column without anything bold
+ '''
+ def onelist(self):
+ last = ''
+ ponies = []
+ for ponydir in ponydirs: # Loop ponydirs
+ ponies += os.listdir(ponydir)
+ ponies = [item[:-5] for item in ponies] # remove .pony from file name
+ ponies.sort()
+ for pony in ponies:
+ if not pony == last:
+ last = pony
+ print(pony)
+
+
+ ##
+ ## Displaying methods
+ ##
+
+ '''
+ Prints the name of the program and the version of the program
+ '''
+ def version(self):
+ print('%s %s' % ('ponysay', VERSION))
+
+
+ '''
+ Returns (the cowsay command, whether it is a custom program)
+ '''
+ def __getcowsay(self):
+ if isthink:
+ cowthink = os.environ['PONYSAY_COWTHINK'] if 'PONYSAY_COWTHINK' in os.environ else None
+ return ('cowthink', False) if (cowthink is None) or (cowthink == '') else (cowthink, True)
+
+ cowsay = os.environ['PONYSAY_COWSAY'] if 'PONYSAY_COWSAY' in os.environ else None
+ return ('cowsay', False) if (cowsay is None) or (cowsay == '') else (cowsay, True)
+
+
+ '''
+ Print the pony with a speech or though bubble. message, pony and wrap from args are used.
+ '''
def print_pony(self, args):
if args.message == None:
- msg = sys.stdin.read().strip()
+ msg = ''.join(sys.stdin.readlines()).strip()
else:
msg = args.message
- if args.pony == None:
- ponies = [] # Make array with direct paths to all ponies
- for ponydir in ponydirs:
- for ponyfile in os.listdir(ponydir):
- ponies.append(ponydir + ponyfile)
-
- pony = ponies[random.randrange(0, len(ponies) - 1)] # Select random pony
+ pony = self.__getponypath(args.opts['-f'])
+ (cowsay, customcowsay) = self.__getcowsay()
+
+ if (len(pony) > 4) and (pony[-4:].lower() == '.png'):
+ pony = '\'' + pony.replace('\'', '\'\\\'\'') + '\''
+ pngcmd = ('img2ponysay -p -- ' if linuxvt else 'img2ponysay -- ') + pony
+ pngpipe = os.pipe()
+ Popen(pngcmd, stdout=os.fdopen(pngpipe[1], 'w'), shell=True).wait()
+ pony = '/proc/' + str(os.getpid()) + '/fd/' + str(pngpipe[0])
+
+ cmd = [cowsay, '-f', self.__kms(pony)]
+ if args.opts['-W'] is not None:
+ cmd += ['-W', args.opts['-W']]
+ cmd.append(msg)
+
+ if linuxvt:
+ print('\033[H\033[2J', end='')
+
+ proc = Popen(cmd, stdout=PIPE, stdin=sys.stderr)
+ output = proc.communicate()[0].decode('utf8', 'replace')
+ if (len(output) > 0) and (output[-1] == '\n'):
+ output = output[:-1]
+ exit_value = proc.returncode
+
+
+ env_bottom = os.environ['PONYSAY_BOTTOM'] if 'PONYSAY_BOTTOM' in os.environ else None
+ if env_bottom is None: env_bottom = ''
+
+ env_height = os.environ['PONYSAY_TRUNCATE_HEIGHT'] if 'PONYSAY_TRUNCATE_HEIGHT' in os.environ else None
+ if env_height is None: env_height = ''
+
+ env_lines = os.environ['PONYSAY_SHELL_LINES'] if 'PONYSAY_SHELL_LINES' in os.environ else None
+ if (env_lines is None) or (env_lines == ''): env_lines = '2'
+
+ lines = self.__gettermsize()[1] - int(env_lines)
+
+
+ if not exit_value == 0:
+ sys.stderr.write('Unable to successfully execute' + (' custom ' if customcowsay else ' ') + 'cowsay [' + cowsay + ']\n')
+ else:
+ if linuxvt or (env_height is ('yes', 'y', '1')):
+ if env_bottom is ('yes', 'y', '1'):
+ for line in output[: -lines]:
+ print(line)
+ else:
+ for line in output[: lines]:
+ print(line)
+ else:
+ print(output);
+
+
+ ## TODO not implement, but it will be obsolete if we rewrite cowsay
+ '''
+ (if not customcowsay)
+
+ pcmd='#!/usr/bin/perl\nuse utf8;'
+ ccmd=$(for c in $(echo $PATH":" | sed -e 's/:/\/'"$cmd"' /g'); do if [ -f $c ]; then echo $c; break; fi done)
+
+ if [ ${0} == *ponythink ]; then
+ cat <(echo -e $pcmd) $ccmd > "/tmp/ponythink"
+ perl '/tmp/ponythink' "$@"
+ rm '/tmp/ponythink'
+ else
+ perl <(cat <(echo -e $pcmd) $ccmd) "$@"
+ fi
+ '''
+
+
+ '''
+ Print the pony with a speech or though bubble and a self quote
+ '''
+ def quote(self, args):
+ pairs = self.__quotes()
+ if len(args.opts['-q']) > 0:
+ ponyset = set(args.opts['-q'])
+ alts = []
+ for pair in pairs:
+ if pair[0] in ponyset:
+ alts.append(pair)
+ pairs = alts
+ if not len(pairs) == 0:
+ pair = pairs[random.randrange(0, len(pairs))]
+ qfile = None
+ try:
+ qfile = open(pair[1], 'r')
+ args.message = '\n'.join(qfile.readlines()).strip()
+ finally:
+ if qfile is not None:
+ qfile.close()
+ args.opts['-f'] = [pair[0]]
+ elif len(args.opts['-q']) == 0:
+ sys.stderr.write('All the ponies are mute! Call the Princess!\n')
+ exit(1)
else:
- for ponydir in ponydirs:
- if os.path.isfile(ponydir + args.pony[0]):
- pony = ponydir + args.pony[0]
+ args.opts['-f'] = [args.opts['-q'][random.randrange(0, len(args.opts['-q']))]]
+ args.message = 'I got nuthin\' good to say :('
+
+ self.print_pony(args)
+
+
+ '''
+ Returns the file name of the input pony converted to a KMS pony, or if KMS is not used, the input pony itself
+ '''
+ def __kms(self, pony):
+ if not linuxvt:
+ return pony
+
+ env_kms = os.environ['PONYSAY_KMS_PALETTE'] if 'PONYSAY_KMS_PALETTE' in os.environ else None
+ if env_kms is None: env_kms = ''
+
+ env_kms_cmd = os.environ['PONYSAY_KMS_PALETTE_CMD'] if 'PONYSAY_KMS_PALETTE_CMD' in os.environ else None
+ if (env_kms_cmd is not None) and (not env_kms_cmd == ''):
+ env_kms = Popen(shlex.split(env_kms_cmd), stdout=PIPE, stdin=sys.stderr).communicate()[0].decode('utf8', 'replace')
+ if env_kms[-1] == '\n':
+ env_kms = env_kms[:-1]
- os.system('cowsay -f ' + pony + ' "' + msg + '"')
+ if env_kms == '':
+ return pony
+
+ palette = env_kms
+ palettefile = env_kms.replace('\033]P', '')
+
+ kmsponies = '/var/cache/ponysay/kmsponies/' + palettefile
+ kmspony = (kmsponies + pony).replace('//', '/')
+
+ if not os.path.isfile(kmspony):
+ protokmsponies = '/var/cache/ponysay/protokmsponies/'
+ protokmspony = (protokmsponies + pony).replace('//', '/')
+
+ protokmsponydir = protokmspony[:protokmspony.rindex('/')]
+ kmsponydir = kmspony[: kmspony.rindex('/')]
+
+ _protokmspony = '\'' + protokmspony.replace('\'', '\'\\\'\'') + '\''
+ _kmspony = '\'' + kmspony.replace('\'', '\'\\\'\'') + '\''
+ _pony = '\'' + pony.replace('\'', '\'\\\'\'') + '\''
+
+ if not os.path.isfile(protokmspony):
+ if not os.path.isdir(protokmsponydir):
+ os.makedirs(protokmsponydir)
+ if not os.system('ponysay2ttyponysay < ' + _pony + ' > ' + _protokmspony) == 0:
+ sys.stderr.write('Unable to run ponysay2ttyponysay successfully, you need util-say for KMS support\n')
+ exit(1)
+
+ if not os.path.isdir(kmsponydir):
+ os.makedirs(kmsponydir)
+ if not os.system('tty2colourfultty -e -p ' + palette + ' < ' + _protokmspony + ' > ' + _kmspony) == 0:
+ sys.stderr.write('Unable to run tty2colourfultty successfully, you need util-say for KMS support\n')
+ exit(1)
+
+ return kmspony
+
+
+
+ARGUMENTLESS = 0
+ARGUMENTED = 1
+VARIADIC = 2
+'''
+Simple argument parser
+'''
+class ArgParser:
+ '''
+ Constructor.
+ The short description is printed on same line as the program name
+ '''
+ def __init__(self, program, description, usage, longdescription = None):
+ self.__program = program
+ self.__description = description
+ self.__usage = usage
+ self.__longdescription = longdescription
+ self.__arguments = []
+ self.opts = {}
+ self.optmap = {}
+
+
+ '''
+ Add option that takes no arguments
+ '''
+ def add_argumentless(self, alternatives, help = None):
+ ARGUMENTLESS
+ self.__arguments.append((ARGUMENTLESS, alternatives, None, help))
+ stdalt = alternatives[0]
+ self.opts[stdalt] = None
+ for alt in alternatives:
+ self.optmap[alt] = (stdalt, ARGUMENTLESS)
+
+ '''
+ Add option that takes one argument
+ '''
+ def add_argumented(self, alternatives, arg, help = None):
+ self.__arguments.append((ARGUMENTED, alternatives, arg, help))
+ stdalt = alternatives[0]
+ self.opts[stdalt] = None
+ for alt in alternatives:
+ self.optmap[alt] = (stdalt, ARGUMENTED)
+
+ '''
+ Add option that takes all following argument
+ '''
+ def add_variadic(self, alternatives, arg, help = None):
+ self.__arguments.append((VARIADIC, alternatives, arg, help))
+ stdalt = alternatives[0]
+ self.opts[stdalt] = None
+ for alt in alternatives:
+ self.optmap[alt] = (stdalt, VARIADIC)
+
+
+ '''
+ Parse arguments
+ '''
+ def parse(self, argv = sys.argv):
+ self.argcount = len(argv) - 1
+ self.files = []
+
+ argqueue = []
+ optqueue = []
+ deque = []
+ for arg in argv[1:]:
+ deque.append(arg)
+
+ dashed = False
+ tmpdashed = False
+ get = 0
+ dontget = 0
+
+ def unrecognised(arg):
+ sys.stderr.write('%s: warning: unrecognised option %s\n' % (self.__program, arg))
+
+ while len(deque) != 0:
+ arg = deque[0]
+ deque = deque[1:]
+ if (get > 0) and (dontget == 0):
+ get -= 1
+ argqueue.append(arg)
+ elif tmpdashed:
+ self.files.append(arg)
+ tmpdashed = False
+ elif dashed: self.files.append(arg)
+ elif arg == '++': tmpdashed = True
+ elif arg == '--': dashed = True
+ elif (len(arg) > 1) and ((arg[0] == '-') or (arg[0] == '+')):
+ if (len(arg) > 2) and ((arg[:2] == '--') or (arg[:2] == '++')):
+ if dontget > 0:
+ dontget -= 1
+ elif (arg in self.optmap) and (self.optmap[arg][1] == ARGUMENTLESS):
+ optqueue.append(arg)
+ argqueue.append(None)
+ elif '=' in arg:
+ arg_opt = arg[:arg.index('=')]
+ if (arg_opt in self.optmap) and (self.optmap[arg_opt][1] >= ARGUMENTED):
+ optqueue.append(arg_opt)
+ argqueue.append(arg[arg.index('=') + 1:])
+ if self.optmap[arg_opt][1] == VARIADIC:
+ dashed = True
+ else:
+ unrecognised(arg)
+ elif (arg in self.optmap) and (self.optmap[arg][1] == ARGUMENTED):
+ optqueue.append(arg)
+ get += 1
+ elif (arg in self.optmap) and (self.optmap[arg][1] == VARIADIC):
+ optqueue.append(arg)
+ argqueue.append(None)
+ dashed = True
+ else:
+ unrecognised(arg)
+ else:
+ sign = arg[0]
+ i = 1
+ n = len(arg)
+ while i < n:
+ narg = sign + arg[i]
+ i += 1
+ if (narg in self.optmap):
+ if self.optmap[narg][1] == ARGUMENTLESS:
+ optqueue.append(narg)
+ argqueue.append(None)
+ elif self.optmap[narg][1] == ARGUMENTED:
+ optqueue.append(narg)
+ nargarg = arg[i:]
+ if len(nargarg) == 0:
+ get += 1
+ else:
+ argqueue.append(nargarg)
+ break
+ elif self.optmap[narg][1] == VARIADIC:
+ optqueue.append(narg)
+ nargarg = arg[i:]
+ argqueue.append(nargarg if len(nargarg) > 0 else None)
+ dashed = True
+ break
+ else:
+ unrecognised(arg)
+ else:
+ self.files.append(arg)
+
+ i = 0
+ n = len(optqueue)
+ while i < n:
+ opt = optqueue[i]
+ arg = argqueue[i]
+ i += 1
+ opt = self.optmap[opt][0]
+ if (opt not in self.opts) or (self.opts[opt] is None):
+ self.opts[opt] = []
+ self.opts[opt].append(arg)
+
+ for arg in self.__arguments:
+ if (arg[0] == VARIADIC):
+ varopt = self.opts[arg[1][0]]
+ if varopt is not None:
+ additional = ','.join(self.files).split(',') if len(self.files) > 0 else []
+ if varopt[0] is None:
+ self.opts[arg[1][0]] = additional
+ else:
+ self.opts[arg[1][0]] = varopt[0].split(',') + additional
+ self.files = []
+ break
+
+ self.message = ' '.join(self.files) if len(self.files) > 0 else None
+
+
+ '''
+ Prints a colourful help message
+ '''
+ def help(self):
+ print('\033[1m%s\033[21m %s %s' % (self.__program, '-' if linuxvt else '—', self.__description))
+ print()
+ if self.__longdescription is not None:
+ print(self.__longdescription)
+ print()
+ print()
+
+ print('\033[1mUSAGE:\033[21m', end='')
+ first = True
+ for line in self.__usage.split('\n'):
+ if first:
+ first = False
+ else:
+ print(' or', end="")
+ print('\t%s' % (line))
+ print()
+
+ print('\033[1mSYNOPSIS:\033[21m')
+ print()
+ for opt in self.__arguments:
+ opt_type = opt[0]
+ opt_alts = opt[1]
+ opt_arg = opt[2]
+ opt_help = opt[3]
+ if opt_help is None:
+ continue
+ for opt_alt in opt_alts:
+ if opt_alt is opt_alts[-1]:
+ print('\t' + opt_alt, end='')
+ if opt_type == ARGUMENTED: print(' \033[4m%s\033[24m' % (opt_arg))
+ elif opt_type == VARIADIC: print(' [\033[4m%s\033[24m...]' % (opt_arg))
+ else: print()
+ else:
+ print('\t\033[2m' + opt_alt + '\033[22m')
+ first = True
+ for line in opt_help.split('\n'):
+ if first:
+ first = False
+ print('\t\t\033[32;1m%s\033[21;39m' % (line))
+ else:
+ print('\t\t%s' % (line))
+ print()
+
+ print()
+
+
+
+usage_saythink = '\033[34;1m(ponysay | ponythink)\033[21;39m'
+usage_wrap = '--wrap \033[4mCOLUMN\033[24m'
+usage_listhelp = '(--list | ---altlist | --version | --help)'
+usage_file = '[--pony \033[4mPONY\033[24m]... ([--] \033[4mmessage\033[24m | <<<\033[4mmessage\033[24m)'
+usage_quote = '--quote [\033[4mPONY\033[24m...]'
+
+usage = '%s %s\n%s [%s] %s\n%s [%s] %s' % (usage_saythink, usage_listhelp,
+ usage_saythink, usage_wrap, usage_file,
+ usage_saythink, usage_wrap, usage_quote)
+
+usage = usage.replace('\033[', '\0')
+for sym in ('[', ']', '(', ')', '|', '...'):
+ usage = usage.replace(sym, '\033[2m' + sym + '\033[22m')
+usage = usage.replace('\0', '\033[')
+
+'''
+Argument parsing
+'''
+opts = ArgParser(program = 'ponythink' if isthink else 'ponysay',
+ description = 'cowsay wrapper for ponies',
+ usage = usage,
+ longdescription =
+'''Ponysay displays an image of a pony saying some text provided by the user.
+If \033[4mmessage\033[24m is not provided, it accepts standard input. For an extensive
+documentation run `info ponysay`, or for just a little more help than this
+run `man ponysay`. Ponysay has so much more to offer than described here.''')
+
+opts.add_argumentless(['--quoters'])
+opts.add_argumentless(['--onelist'])
+opts.add_argumentless(['-h', '--help'], help = 'Print this help message.')
+opts.add_argumentless(['-v', '--version'], help = 'Print the version of the program.')
+opts.add_argumentless(['-l', '--list'], help = 'List pony files.')
+opts.add_argumentless(['-L', '--altlist'], help = 'List pony files with alternatives.')
+opts.add_argumented( ['-W', '--wrap'], arg = "COLUMN", help = 'Specify the column when the message should be wrapped.')
+opts.add_argumented( ['-f', '--pony'], arg = "PONY", help = 'Select a pony.\nEither a file name or a pony name.')
+opts.add_variadic( ['-q', '--quote'], arg = "PONY", help = 'Select a ponies which will quote themself.')
+opts.parse()
'''
Start the program from ponysay.__init__ if this is the executed file
'''
if __name__ == '__main__':
- ponysay(args)
+ Ponysay(opts)
diff --git a/pq4ps b/pq4ps
deleted file mode 100755
index 576a4e8..0000000
--- a/pq4ps
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-INSTALLDIR="$(dirname "$(dirname "$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )")")" # Get main bash script directory's parent
-
-if [ $# == 1 ] && ([ "$1" == '-l' ] || [ "$1" == '--list' ]); then
- perl "$0.pl" "$INSTALLDIR" | cut -d @ -f 1 | uniq
-else
- _ponies="$(perl "$0.pl" "$INSTALLDIR")"
- ponies=()
-
- if (( $# > 0 )); then
- p=()
- for arg in "$@"; do
- p+="$(echo "$_ponies" | grep "^$arg@") "
- done
- _ponies=$p
- fi
-
- ponies=( $_ponies )
-
- if (( ${#ponies[@]} == 0 )); then
- ponies=()
- for arg in "$@"; do
- ponies+=( "$arg" )
- done
-
- p="${ponies[$RANDOM%${#ponies[@]}]}"
- q='I am totally speechless'
- echo "-f" $p $q
- else
- pony="${ponies[$RANDOM%${#ponies[@]}]}"
-
- p="$(echo $pony | cut -d '@' -f 1)"
- f="$(echo $pony | cut -d '@' -f 2)"
- q="$(cat "$INSTALLDIR/share/ponysay/quotes/$f")"
-
- echo "-f" $p $q
- fi
-fi
diff --git a/pq4ps-list.pl b/pq4ps-list.pl
deleted file mode 100755
index d4517c5..0000000
--- a/pq4ps-list.pl
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/perl
-
-print "(sed";
-
-foreach $arg (@ARGV)
-{
- print " -e 's/ $arg / \e[1m$arg\e[21m /g'";
- print " -e 's/ $arg)/ \e[1m$arg\e[21m)/g'";
- print " -e 's/($arg /(\e[1m$arg\e[21m /g'";
- print " -e 's/($arg)/(\e[1m$arg\e[21m)/g'";
- print " -e 's/ $arg\$/ \e[1m$arg\e[21m/g'";
- print " -e 's/^$arg /\e[1m$arg\e[21m /g'";
- print " -e 's/^$arg\$/\e[1m$arg\e[21m/g'";
-}
-
-print " | sed";
-
-foreach $arg (@ARGV)
-{
- print " -e 's/ $arg)/ \e[1m$arg\e[21m)/g'";
- print " -e 's/ $arg\$/ \e[1m$arg\e[21m/g'"
-}
-
-print ")";
diff --git a/pq4ps.pl b/pq4ps.pl
deleted file mode 100755
index 2f45053..0000000
--- a/pq4ps.pl
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/perl
-
-opendir(DIR, $ARGV[0]."/share/ponysay/ponies/");
-@files = readdir(DIR);
-
-opendir(DIR, $ARGV[0]."/share/ponysay/quotes/");
-@quotes = readdir(DIR);
-
-
-foreach $file (@files)
-{
- $_ = $file;
- $_ =~ s/\.pony$//g;
- $f = $_;
- if (! /^\./)
- { foreach $quote (@quotes)
- {
- $_ = $quote;
- $_ =~ s/\.\d+//g;
- $_ = '+'.$_.'+';
- if (! /^\./)
- { if (/\+$f\+/)
- { print $f."@".$quote."\n";
- } }
- } }
-}
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.0 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.0
deleted file mode 100644
index a7b29c2..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.0
+++ /dev/null
@@ -1,2 +0,0 @@
-Ooh! Ooh! More guessing games! Um... Pokey Smokes!
-How about Queen Meanie? No! Black Snooty, Black Snooty!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.1 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.1
deleted file mode 100644
index 33f8399..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.1
+++ /dev/null
@@ -1,2 +0,0 @@
-Don't you worry your pretty little head about mean old Gilda!
-Your Aunty Pinkie Pie's got it all taken care of!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.10 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.10
deleted file mode 100644
index 9654c0c..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.10
+++ /dev/null
@@ -1 +0,0 @@
-Too old for free candy?! NEVER!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.11 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.11
deleted file mode 100644
index aadb94d..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.11
+++ /dev/null
@@ -1 +0,0 @@
-I never leave home without my party cannon!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.12 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.12
deleted file mode 100644
index 1050549..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.12
+++ /dev/null
@@ -1 +0,0 @@
-I'm not giving him cake! I'm ASSAULTING him with cake!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.13 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.13
deleted file mode 100644
index 9570839..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.13
+++ /dev/null
@@ -1 +0,0 @@
-Hold on to your hooves, I'm about to be BRILLIANT!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.14 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.14
deleted file mode 100644
index 4f22a20..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.14
+++ /dev/null
@@ -1 +0,0 @@
-APPLEJACK!!! YOU PINKIE PROMISED!!!!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.15 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.15
deleted file mode 100644
index bb18e3d..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.15
+++ /dev/null
@@ -1 +0,0 @@
-Twitchy tail! Twitchy tail!!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.16 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.16
deleted file mode 100644
index d39c011..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.16
+++ /dev/null
@@ -1 +0,0 @@
-When I was a little filly and the sun was going down~
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.17 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.17
deleted file mode 100644
index f3dbbe5..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.17
+++ /dev/null
@@ -1 +0,0 @@
-All you have to do is take a cup of flour and add it to the mix~
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.18 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.18
deleted file mode 100644
index 2ca9cd1..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.18
+++ /dev/null
@@ -1 +0,0 @@
-Oh the Grand Galloping Gala is the best place for me~
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.19 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.19
deleted file mode 100644
index 466fc20..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.19
+++ /dev/null
@@ -1 +0,0 @@
-Ugh, a parasprite!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.2 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.2
deleted file mode 100644
index ec015bd..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.2
+++ /dev/null
@@ -1 +0,0 @@
-You've got a real problem all right, and a banjo is the only answer!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.20 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.20
deleted file mode 100644
index 717de8a..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.20
+++ /dev/null
@@ -1 +0,0 @@
-Cross my heart and hope to fly, stick a cupcake in my eye!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.21 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.21
deleted file mode 100644
index 1e6e640..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.21
+++ /dev/null
@@ -1 +0,0 @@
-Are you loco in the coco?
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.22 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.22
deleted file mode 100644
index 3924bad..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.22
+++ /dev/null
@@ -1 +0,0 @@
-Hay, that's what I said!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.23 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.23
deleted file mode 100644
index c33b5a7..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.23
+++ /dev/null
@@ -1 +0,0 @@
-And that's how Equestria was made.
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.24 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.24
deleted file mode 100644
index f7e25aa..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.24
+++ /dev/null
@@ -1 +0,0 @@
-I never felt joy like that before!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.25 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.25
deleted file mode 100644
index dc7901b..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.25
+++ /dev/null
@@ -1 +0,0 @@
-Oatmeal, are you crazy?
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.26 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.26
deleted file mode 100644
index 0d337f8..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.26
+++ /dev/null
@@ -1 +0,0 @@
-This calls for extreme measures! Pinkie Pie style!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.27 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.27
deleted file mode 100644
index 171d490..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.27
+++ /dev/null
@@ -1 +0,0 @@
-This may look like fun, but it's not!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.28 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.28
deleted file mode 100644
index ea4873b..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.28
+++ /dev/null
@@ -1 +0,0 @@
-You really need to get out more.
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.29 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.29
deleted file mode 100644
index bd89fa4..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.29
+++ /dev/null
@@ -1 +0,0 @@
-I don't need my friends... *Twitch*
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.3 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.3
deleted file mode 100644
index 0121eb5..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.3
+++ /dev/null
@@ -1 +0,0 @@
-You look like you'd be good at eating cupcakes!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.30 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.30
deleted file mode 100644
index 78a0976..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.30
+++ /dev/null
@@ -1 +0,0 @@
-Thank you for being here today... *Twitch*
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.31 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.31
deleted file mode 100644
index be356a2..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.31
+++ /dev/null
@@ -1 +0,0 @@
-Aha! I knew it!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.32 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.32
deleted file mode 100644
index a04b606..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.32
+++ /dev/null
@@ -1 +0,0 @@
-My friends don't like my parties and they don't wanna be my friends anymore...
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.33 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.33
deleted file mode 100644
index abb6b8a..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.33
+++ /dev/null
@@ -1 +0,0 @@
-I know how it goes, all right!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.34 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.34
deleted file mode 100644
index c349f48..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.34
+++ /dev/null
@@ -1 +0,0 @@
-I'm just glad none of them ponies showed up!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.35 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.35
deleted file mode 100644
index ae4da82..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.35
+++ /dev/null
@@ -1 +0,0 @@
-Oui! Zhat is correct, madame.
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.36 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.36
deleted file mode 100644
index bcc5542..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.36
+++ /dev/null
@@ -1,2 +0,0 @@
-You know what this calls for?
-A party!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.4 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.4
deleted file mode 100644
index 3e7abb7..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.4
+++ /dev/null
@@ -1 +0,0 @@
-She'll become a crazy cat lady!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.5 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.5
deleted file mode 100644
index fef7225..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.5
+++ /dev/null
@@ -1 +0,0 @@
-Give her time...
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.6 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.6
deleted file mode 100644
index 59001e5..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.6
+++ /dev/null
@@ -1 +0,0 @@
-FOREVER!!!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.7 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.7
deleted file mode 100644
index 0314d14..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.7
+++ /dev/null
@@ -1 +0,0 @@
-Secrets and lies! It's all secrets and lies with those ponies!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.8 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.8
deleted file mode 100644
index 0c5b97e..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.8
+++ /dev/null
@@ -1 +0,0 @@
-Hold on a second! Eternal chaos comes with chocolate rain, guys! Chocolate rain!
diff --git a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.9 b/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.9
deleted file mode 100644
index 2cae39a..0000000
--- a/quotes/pinkie+pinkiepartycannon+pinkieprincess+pinkiehugsfluttershy+pinkiewhoops+oinkoinkoink+pinkiewhoopsout+pinkiewhoopseat+fillypinkie+fillypinkiecurly.9
+++ /dev/null
@@ -1 +0,0 @@
-No I'm not, I'm a chicken! BAGAWK!