Commit graph

118 commits

Author SHA1 Message Date
Christina Sørensen
33c708f01d fix: deperacte lib.rs
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
3068bce5a8 fix: remove feature
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
a3fc76f8ff chore: fix rust version for nixpkgs compatibility
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
93054d0c1c refactor: code quality improvements
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
66d8014872 feat: kind gitrepo validator+testing
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
b5ab764ea7 fix(git): fix case of validators
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
e12dae4ebc feat: handle category without repos
This is a dirty hack, but we won't have to duplicate it when the kinds
field is done, so I don't feel /too/ bad about including it :D

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
49a6c65783 feat: made all repo fields options
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
9be5d10e28 doc(git): documented run_series macro
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
d17f14be97 refactor(git): started implementing validity check for repo kinds
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
c37cd42b7e refactor(git): removed series_on_all
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
72533ea8e8 refactor: remove duplicate code on Config
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
6993753889 tests: added kinds to test config
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
9e4b5cef2e feat: added repo kinds
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
93175124b8 refactor: renamed GitRepo to Repo
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
8cbff324e7 refactor: added kind field to GitRepo
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
83d2458b37 refactor: added RepoKinds enum
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
d8197b2731 refactor: made RepoFlags non exhaustive
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
98bcd7b79c refactor: started work on generic macro
This is to help make series operations more generic.

This refactor has been needed for a while, and I'm very excited to
finally start working on it, but this is just the bare minimum, we
still need to handle on a repo type basis.

But also, yes, this starts the slow crawl towards generic repos intead
of hardcoded functions for each repo type (links, gitrepo) etc

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
fb5250c8e1 feat: -m flag (untested)
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
9b86d9d6fb fix(main,cli): naming was confusing
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
8b94120214 feat(wip): repo and category selecting for subcmd
This starts to implement repo and category selecting for subcommands
that make use of these (push, pull, quick, fast... most of them!)

Still, this is proof of concept, now it needs to actually be made robust
and generalized, as well as implemented on all the commands.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
9d8128d3aa doc: cleaned up comments
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
fb691c710b fix(git): removed ugly comments
Feels like a code smell to use this ugly and non-idiomatic style.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
969bff4dd1 feat(jump): done, but not great
Of course, the calling process is different from us, and we can't
actually change their PWD >_<

*sigh*

But, this can be put in e.g. an alias, which seems to be what most
jump/cd expanding types of programs do. We are not those, so, going
beyond what most of those do with ptrace and hackery is not really in
scope...

But ugh, I hate this. But I still want this feature for myself
so ¯\_(ツ)_/¯

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
082ab57957 feat(cli): added jump command
Still not implemented!

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
fad27cce55 feat(benches): added benchmarking
Setup only for loading config file for now, probably not a lot of code
here that is super intensive, but having the structure set up to bench
is pretty nice when it's needed suddenly.

Two steps ahead as always, still haven't capitalized on the architecture
rewrite, yet here I am adding this.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
ad1c2736d5 test(git): fixed doc tests for git.rs
Adding git to the library file makes the doctests run.

Turns out they were very broken.

This commit sets us up for a refactor, with setter and getters.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-08-09 16:27:56 +02:00
Christina Sørensen
c9b00adb57 chore(version): bump to v0.2.0
** [0.2.0] - 2023-07-07

*** Bug Fixes

- Made categories with only links possible

*** Features

- [**breaking**] Put links in categories

*** Miscellaneous Tasks

- Filled out Cargo.toml
- Added test.yaml to gitignore
- Fixed up code, roadmap for bump

*** Refactor

- Simple code quality changes

*** Testing

- Refactored testing, added tests dir

** [0.1.2] - 2023-07-03

*** Features

- Implemented quiet flag

*** Miscellaneous Tasks

- Bump to v0.1.2

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
c36000e7a0 chore: fixed up code, roadmap for bump
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
a4e3527973 fix(git): made categories with only links possible
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
f1fc08ab2c test: refactored testing, added tests dir
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
7e6b9312b5 refactor: simple code quality changes
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
512d696b39 chore(git): added test.yaml to gitignore
This is usually regenereated with a different ordering every time tests
are run. This is annoying.

It's because the underlying hashmap doesn't have ordering.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
db21b92feb chore(cargo): filled out Cargo.toml
Added all fields for [package], those where there was nothing of
interest to add were just added as comments for reference. Some of them
might be used later.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
d5b845508a feat!: put links in categories
This required a lot of refatoring, and added a lot of codedepth that
have to be repaid soon by a large refactor.

Also, it is becoming painfully obvious that testing should be expanded
significantly.

This, after the refactor, nonetheless.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-07 04:13:59 +00:00
Christina Sørensen
c62a0a720f chore(version): bump to v0.1.2
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 16:22:48 +00:00
Christina Sørensen
f958739863 feat: implemented quiet flag
This took a fair amount of fiddeling with attempts at a more elegant
solution before I just accepted that it wasn't gonna be that fancy and
went with what is in this commit.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 16:22:48 +00:00
Christina Sørensen
b2a0caff02 chore(version): bump to v0.1.1
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 16:22:48 +00:00
Christina Sørensen
6d39190f69 feat(no-emoji): added no-emoji flag
Using atomics! In case we need threading in the future.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 16:22:48 +00:00
Christina Sørensen
abddcd98d5 fix: fixed help formatting
The formatting was kinda broken because I was using multi line strings
like I was writing nix :S

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 16:22:48 +00:00
Christina Sørensen
6779ccc642 doc(readme): added asciinema demo
Added a very basic demo, barely showing anything. Better than nothing
still, so here it is.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 16:22:48 +00:00
Christina Sørensen
200fe55feb
chore(merge): bump v0.1.0, housekeeping, #8 from cafkafk/dev
- added changelog
- bumped cargo version
- fixed readme
- other minor fixes

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 09:49:49 +00:00
Christina Sørensen
6e7ba4aadf
chore: bump v0.1.0, housekeeping
- added changelog
- bumped cargo version
- fixed readme
- other minor fixes

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 11:44:58 +02:00
Christina Sørensen
c04ca64325
doc: updated roadmap
Planned features for 0.1.1, 0.1.2.

Also changed ordering.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 11:38:02 +02:00
Christina Sørensen
1e22d3bf5a
feat(cli): added flag no-emoji
This does not implement no emoji, althugh it should be easier with the
strings consts in place.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 11:36:20 +02:00
Christina Sørensen
97d8ee52fc
feat(git): made SUCCESS/FAILURE emoji const
This puts the emoji for success/failure of a git operation into the
strings module of utils.

This might be handy down the line for implementing the disable emotes
flag.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 11:34:22 +02:00
Christina Sørensen
0660801014
feat(cli): quiet flag
Created the actual flag, but didn't implement.

I had underestimated the amount of global state and abstracting for
output it would take.

This will probably be essentially free after a refactor that I don't
wanna do right now, given how I spend most my energy on the
architectural overhaul.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 11:16:43 +02:00
Christina Sørensen
2872f56aac
feat(cli): implemented CoC flag
Idk why I even included this, but then again, it is probably not bad to
be very explicit about what is a pledge.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-03 11:04:18 +02:00
Christina Sørensen
414334009a
refactor: made code more idiomatic
This was done with the help of:

`cargo clippy -- -W clippy::pedantic -W clippy::nursery -W clippy::unwrap_used`

Also fixed some warns that might have turned into errors in the future.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-07-02 16:42:12 +02:00