Advent of Code solutions in Rust

chore: add basic config file for `bacon`

+127
+127
bacon.toml
··· 1 + # This is a configuration file for the bacon tool 2 + # 3 + # Complete help on configuration: https://dystroy.org/bacon/config/ 4 + # 5 + # You may check the current default at 6 + # https://github.com/Canop/bacon/blob/main/defaults/default-bacon.toml 7 + 8 + default_job = "check" 9 + env.CARGO_TERM_COLOR = "always" 10 + 11 + [jobs.check] 12 + command = ["cargo", "check"] 13 + need_stdout = false 14 + 15 + [jobs.check-all] 16 + command = ["cargo", "check", "--all-targets"] 17 + need_stdout = false 18 + 19 + # Run clippy on the default target 20 + [jobs.clippy] 21 + command = ["cargo", "clippy"] 22 + need_stdout = false 23 + 24 + # Run clippy on all targets 25 + # To disable some lints, you may change the job this way: 26 + # [jobs.clippy-all] 27 + # command = [ 28 + # "cargo", "clippy", 29 + # "--all-targets", 30 + # "--", 31 + # "-A", "clippy::bool_to_int_with_if", 32 + # "-A", "clippy::collapsible_if", 33 + # "-A", "clippy::derive_partial_eq_without_eq", 34 + # ] 35 + # need_stdout = false 36 + [jobs.clippy-all] 37 + command = ["cargo", "clippy", "--all-targets"] 38 + need_stdout = false 39 + 40 + # Run clippy in pedantic mode 41 + # The 'dismiss' feature may come handy 42 + [jobs.pedantic] 43 + command = [ 44 + "cargo", "clippy", 45 + "--", 46 + "-W", "clippy::pedantic", 47 + ] 48 + need_stdout = false 49 + 50 + # This job lets you run 51 + # - all tests: bacon test 52 + # - a specific test: bacon test -- config::test_default_files 53 + # - the tests of a package: bacon test -- -- -p config 54 + [jobs.test] 55 + command = ["cargo", "test"] 56 + need_stdout = true 57 + 58 + [jobs.nextest] 59 + command = [ 60 + "cargo", "nextest", "run", 61 + "--release", 62 + "--hide-progress-bar", "--failure-output", "final" 63 + ] 64 + need_stdout = true 65 + analyzer = "nextest" 66 + 67 + [jobs.doc] 68 + command = ["cargo", "doc", "--no-deps"] 69 + need_stdout = false 70 + 71 + # If the doc compiles, then it opens in your browser and bacon switches 72 + # to the previous job 73 + [jobs.doc-open] 74 + command = ["cargo", "doc", "--no-deps", "--open"] 75 + need_stdout = false 76 + on_success = "back" # so that we don't open the browser at each change 77 + 78 + # You can run your application and have the result displayed in bacon, 79 + # if it makes sense for this crate. 80 + [jobs.run] 81 + command = [ 82 + "cargo", "run", 83 + "--release" 84 + # put launch parameters for your program behind a `--` separator 85 + ] 86 + need_stdout = true 87 + allow_warnings = true 88 + background = true 89 + 90 + # Run your long-running application (eg server) and have the result displayed in bacon. 91 + # For programs that never stop (eg a server), `background` is set to false 92 + # to have the cargo run output immediately displayed instead of waiting for 93 + # program's end. 94 + # 'on_change_strategy' is set to `kill_then_restart` to have your program restart 95 + # on every change (an alternative would be to use the 'F5' key manually in bacon). 96 + # If you often use this job, it makes sense to override the 'r' key by adding 97 + # a binding `r = job:run-long` at the end of this file . 98 + # A custom kill command such as the one suggested below is frequently needed to kill 99 + # long running programs (uncomment it if you need it) 100 + [jobs.run-long] 101 + command = [ 102 + "cargo", "run", 103 + # put launch parameters for your program behind a `--` separator 104 + ] 105 + need_stdout = true 106 + allow_warnings = true 107 + background = false 108 + on_change_strategy = "kill_then_restart" 109 + # kill = ["pkill", "-TERM", "-P"] 110 + 111 + # This parameterized job runs the example of your choice, as soon 112 + # as the code compiles. 113 + # Call it as 114 + # bacon ex -- my-example 115 + [jobs.ex] 116 + command = ["cargo", "run", "--example"] 117 + need_stdout = true 118 + allow_warnings = true 119 + 120 + # You may define here keybindings that would be specific to 121 + # a project, for example a shortcut to launch a specific job. 122 + # Shortcuts to internal functions (scrolling, toggling, etc.) 123 + # should go in your personal global prefs.toml file instead. 124 + [keybindings] 125 + # alt-m = "job:my-job" 126 + c = "job:clippy-all" # comment this to have 'c' run clippy on only the default target 127 + p = "job:pedantic"