Compare commits

...

2 commits

Author SHA1 Message Date
cd8d236940 chore: cargo clippy fixes 2024-04-07 16:09:16 +01:00
cb46138cdc build(bacon): Add bacon.toml config 2024-04-07 16:06:10 +01:00
4 changed files with 71 additions and 7 deletions

63
bacon.toml Normal file
View file

@ -0,0 +1,63 @@
# This is a configuration file for the bacon tool
#
# Bacon repository: https://github.com/Canop/bacon
# Complete help on configuration: https://dystroy.org/bacon/config/
default_job = "check"
reverse = true
[jobs.check]
command = ["cargo", "check", "--color", "always"]
need_stdout = false
[jobs.fmt]
command = ["cargo", "fmt"]
need_stdout = false
on_success = "job:check"
[jobs.todo-checker]
command = ["just", "todo-checker"]
need_stdout = true
[jobs.check-all]
command = ["cargo", "check", "--all-targets", "--color", "always"]
need_stdout = false
[jobs.clippy]
command = ["cargo", "clippy", "--all-targets", "--color", "always", "--", "-Dwarnings", "-Wclippy::nursery", "-Wclippy::unwrap_used", "-Wclippy::expect_used"]
# "-Wclippy::pedantic",
need_stdout = false
[jobs.test]
command = ["cargo", "nextest", "run", "--no-capture", "--color", "always"]
[jobs.doc]
command = ["cargo", "doc", "--color", "always", "--no-deps"]
need_stdout = false
# If the doc compiles, then it opens in your browser and bacon switches
# to the previous job
[jobs.doc-open]
command = ["cargo", "doc", "--color", "always", "--no-deps", "--open"]
need_stdout = false
on_success = "back" # so that we don't open the browser at each change
# You can run your application and have the result displayed in bacon,
# *if* it makes sense for this crate. You can run an example the same
# way. Don't forget the `--color always` part or the errors won't be
# properly parsed.
# If you want to pass options to your program, a `--` separator
# will be needed.
[jobs.run]
command = [ "cargo", "run", "--color", "always" ]
need_stdout = true
allow_warnings = true
# You may define here keybindings that would be specific to
# a project, for example a shortcut to launch a specific job.
# Shortcuts to internal functions (scrolling, toggling, etc.)
# should go in your personal global prefs.toml file instead.
[keybindings]
# alt-m = "job:my-job"
f = "job:fmt"
alt-t = "job:todo-checker"

View file

@ -2,7 +2,7 @@ use std::path::PathBuf;
use crate::filesystem::FileSystem;
pub(crate) fn run(fs: FileSystem) {
pub fn run(fs: FileSystem) {
let file_name = ".git-next.toml";
let path = PathBuf::from(file_name);
if fs.file_exists(&path) {

View file

@ -3,8 +3,8 @@ use terrors::OneOf;
use crate::filesystem::FileSystem;
#[derive(Debug, PartialEq, Deserialize)]
pub(crate) struct Config {
#[derive(Debug, PartialEq, Eq, Deserialize)]
pub struct Config {
r#type: ForgeType,
url: String,
user: String,
@ -12,14 +12,15 @@ pub(crate) struct Config {
// Private SSH Key Path
}
#[derive(Debug, PartialEq, Deserialize)]
pub(crate) enum ForgeType {
#[derive(Debug, PartialEq, Eq, Deserialize)]
pub enum ForgeType {
ForgeJo,
// Gitea,
// GitHub,
// GitLab,
// BitBucket,
}
#[allow(dead_code)]
impl Config {
pub(crate) fn load(fs: &FileSystem) -> Result<Self, OneOf<(std::io::Error, toml::de::Error)>> {
let str = fs.read_file("git-next-server.toml").map_err(OneOf::new)?;

View file

@ -6,7 +6,7 @@ use tracing::info;
use crate::filesystem::FileSystem;
pub(crate) fn init(fs: FileSystem) {
pub fn init(fs: FileSystem) {
let file_name = "git-next-server.toml";
let path = PathBuf::from(file_name);
if fs.file_exists(&path) {
@ -24,7 +24,7 @@ pub(crate) fn init(fs: FileSystem) {
}
}
pub(crate) fn start(fs: FileSystem) {
pub fn start(fs: FileSystem) {
let Ok(_) = init_logging() else {
eprintln!("Failed to initialize logging.");
return;