Compare commits

...

10 Commits
latest ... main

Author SHA1 Message Date
b794e003cb Update README.md 2024-09-19 12:14:05 +00:00
e597d59cb2 remove clip-lib 2024-09-19 13:11:19 +01:00
729a4a0a0c auto find cpp compiler 2024-09-16 15:18:54 +01:00
8d8f39a2ff fixed folder structure 2024-09-16 15:11:25 +01:00
b4b05f78d3 update 2024-09-05 01:50:43 +01:00
24314ddd69 pkg update 2024-08-24 22:12:57 +01:00
b7b68a0961 readme 2024-06-20 15:21:27 +01:00
34204b25a0 oops 2024-06-20 15:17:18 +01:00
9a6d9fcad7 fix 2024-06-20 15:11:55 +01:00
07c2db22f0 clipboard support 2024-06-20 15:03:39 +01:00
8 changed files with 134 additions and 50 deletions

19
.SRCINFO Normal file
View File

@ -0,0 +1,19 @@
pkgbase = term-owo-git
pkgdesc = A simple C++ program that owofies text
pkgver = 1.0
pkgrel = 1
url = https://git.alfieking.dev/acetheking987/term-owo-cpp
arch = x86_64
arch = i686
arch = arm
arch = armv6h
arch = armv7h
arch = aarch64
license = MIT
makedepends = cmake
makedepends = git
makedepends = gcc
source = git+https://git.alfieking.dev/acetheking987/term-owo-cpp.git
md5sums = SKIP
pkgname = term-owo-git

2
.gitignore vendored
View File

@ -32,4 +32,4 @@
*.out
*.app
builds/
build/

7
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"files.associations": {
"*.pyw": "python",
"string": "cpp",
"ostream": "cpp"
}
}

28
.vscode/tasks.json vendored
View File

@ -1,28 +0,0 @@
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}

7
CMakeLists.txt Normal file
View File

@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.5)
find_program(CMAKE_C_COMPILER NAMES $ENV{CC} gcc PATHS ENV PATH NO_DEFAULT_PATH)
find_program(CMAKE_CXX_COMPILER NAMES $ENV{CXX} g++ PATHS ENV PATH NO_DEFAULT_PATH)
project(owo)
add_executable(owo src/main.cpp)
target_link_libraries(owo)

View File

@ -1,21 +1,22 @@
pkgname="term-owo-cpp"
pkgver=1.0.0
pkgname="term-owo-git"
pkgver=1.0
pkgrel=1
pkgdesc="A simple C++ program that owofies text"
arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h' 'aarch64')
depends=('gcc' 'git')
url="https://git.alfieking.dev/acetheking987/term-owo-cpp"
arch=(x86_64 i686 arm armv6h armv7h aarch64)
makedepends=(cmake git gcc)
license=('MIT')
source=("git+https://git.alfieking.dev/acetheking987/term-owo-cpp.git")
md5sums=('SKIP')
md5sums=('SKIP')
build() {
cd "$srcdir/term-owo-cpp"
g++ -o owo owo.cpp
}
cmake . -B build
cd build && make
}
package() {
cd "$srcdir/term-owo-cpp"
cd "$srcdir/term-owo-cpp/build"
install -Dm755 owo "$pkgdir/usr/bin/owo"
}
}

View File

@ -28,9 +28,12 @@ $ ./owo -o output.txt "Hello, world!"
```
## Building
to build the program, run the following command (note that you need g++ installed):
to build the program, run the following command:
```bash
$ g++ -o owo owo.cpp
$ cmake . -B build
$ cd build && make
$ ./owo "Hello, world!"
hewwo, wowld!
```
## Installation

View File

@ -2,6 +2,7 @@
#include <regex>
#include <string>
#include <fstream>
#include <random>
using namespace std;
string replacements[6][2] = {
@ -13,11 +14,76 @@ string replacements[6][2] = {
{"ove", "uv"}
};
string owo(string input) {
string random_ending_replacents[11] = {
"uwu",
"owo",
"OwO",
"UwU",
"uwu",
"OwO",
">w<",
"Owo",
"X3",
":3",
">:3",
};
string full_word_replacents[20][2] = {
{"hello", "h-hello there"},
{"goodbye", "bai"},
{"bye", "bai"},
{"please", "p-pwease"},
{"thanks", "t-thank u"},
{"thank you", "t-thank u"},
{"you", "u"},
{"your", "ur"},
{"you're", "ur"},
{"you are", "ur"},
{"are", "r"},
{"the", "da"},
{"this", "dis"},
{"that", "dat"},
{"there", "dere"},
{"they", "dey"},
{"their", "dere"},
{"them", "dem"},
{"those", "dose"},
{"these", "deez"},
};
string random_ending(string input) {
string output = input;
for (int i = 0; i < output.length(); i++) {
if (output[i] == '.' || output[i] == '!' || output[i] == '?') {
output.insert(i, " " + random_ending_replacents[rand() % 11]);
i += random_ending_replacents[rand() % 11].length() + 1;
}
}
if (output[output.length()-1] != '.' && output[output.length()-1] != '!' && output[output.length()-1] != '?') {
output += " " + random_ending_replacents[rand() % 11];
}
return output;
}
string full_word(string input) {
string output = input;
for (int i = 0; i < 20; i++) {
output = regex_replace(output, regex(full_word_replacents[i][0]), full_word_replacents[i][1]);
}
return output;
}
string owo(string input, bool no_full_word = false, bool no_random_ending = false) {
string output = input;
if (!no_full_word){
output = full_word(output);
}
for (int i = 0; i < 6; i++) {
output = regex_replace(output, regex(replacements[i][0]), replacements[i][1]);
}
if (!no_random_ending) {
output = random_ending(output);
}
return output;
}
@ -29,12 +95,18 @@ int help() {
cout << "Options:" << endl;
cout << " -p Read from stdin" << endl;
cout << " -h Show this help message" << endl;
cout << " -f Read from file" << endl;
cout << " -o Write to file" << endl;
cout << " -ne Stops extra stuff from being added to the end of sentences" << endl;
cout << " -nf Stops full word replacements" << endl;
cout << " text Text to convert" << endl;
return 0;
}
int main(int argc, char *argv[]) {
srand(time(nullptr));
string input, inputfile, outputfile;
bool _stdin = false;
bool _stdin = false, clipboard = false, no_full_word = false, no_random_ending = false;
if (argc < 2) {
cout << owo("No text provided") << endl << endl;
@ -55,6 +127,10 @@ int main(int argc, char *argv[]) {
return help();
} else if (i == argc-1) {
input = string(argv[i]);
} else if (string(argv[i]) == "-ne") {
no_random_ending = true;
} else if (string(argv[i]) == "-nf") {
no_full_word = true;
} else {
cout << owo("Invalid argument: " + string(argv[i])) << endl << endl;
help();
@ -81,9 +157,9 @@ int main(int argc, char *argv[]) {
if (_stdin) {
while (getline(cin, input)) {
if (outputfile != "") {
*output << owo(input) << endl;
*output << owo(input, no_full_word, no_random_ending) << endl;
} else {
cout << owo(input) << endl;
cout << owo(input, no_full_word, no_random_ending) << endl;
}
}
@ -99,18 +175,18 @@ int main(int argc, char *argv[]) {
while (getline(inputstream, input)) {
if (outputfile != "") {
*output << owo(input) << endl;
*output << owo(input, no_full_word, no_random_ending) << endl;
} else {
cout << owo(input) << endl;
cout << owo(input, no_full_word, no_random_ending) << endl;
}
}
inputstream.close();
} else if (input != "") {
if (outputfile != "") {
*output << owo(input) << endl;
*output << owo(input, no_full_word, no_random_ending) << endl;
} else {
cout << owo(input) << endl;
cout << owo(input, no_full_word, no_random_ending) << endl;
}
}
@ -118,6 +194,5 @@ int main(int argc, char *argv[]) {
((ofstream*)output)->close();
}
return 0;
}