summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
blob: 361ed0a75ce1626d06afd3d1b1bb043dad4ef0ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
[package]
name = "git-interactive-rebase-tool"
version = "2.3.0"
authors = ["Tim Oram <dev@mitmaro.ca>"]
license = "GPL-3.0-or-later"
description = "Full feature terminal based sequence editor for git interactive rebase."
homepage = "https://gitrebasetool.mitmaro.ca/"
repository = "https://github.com/MitMaro/git-interactive-rebase-tool"
keywords = ["git", "editor", "tool", "rebase", "cli"]
categories = ["command-line-interface", "command-line-utilities", "text-editors"]
readme = "README.md"
include = [
    "**/*.rs",
    "/Cargo.toml",
    "/CHANGELOG.md",
    "/LICENSE",
    "/readme",
    "/README.md"
]
edition = "2021"

[[bin]]
name = "interactive-rebase-tool"
path = "src/main.rs"

[dependencies]
anyhow = "1.0.72"
bitflags = "2.4.2"
captur = "0.1.0"
chrono = "0.4.26"
crossbeam-channel = "0.5.8"
crossterm = "0.27.0"
git2 = { version = "0.18.2", default-features = false, features = [] }
if_chain = "1.0.2"
lazy_static = "1.4.0"
num-format = "0.4.4"
parking_lot = "0.12.1"
pico-args = "0.5.0"
thiserror = "1.0.56"
unicode-segmentation = "1.10.1"
unicode-width = "0.1.10"
uuid = { version = "1.4.1", features = ["v4", "fast-rng"] }
version-track = "0.1.0"
xi-unicode = "0.3.0"

[target.'cfg(target_os = "macos")'.dependencies]
crossterm = { version = "0.27.0", features = ["use-dev-tty"] }

[dev-dependencies]
claims = "0.7.1"
itertools = "0.12.1"
pretty_assertions = "1.4.0"
regex = "1.8.3"
rstest = "0.18.1"
serial_test = "3.0.0"
tempfile = "3.7.0"

[build-dependencies]
chrono = "0.4.26"
rustc_version = "0.4.0"

[features]
default = []
dev = []

[profile.release]
incremental = true
debug = 0
lto = true
codegen-units = 1

[package.metadata.deb]
license-file = ["LICENSE"]
extended-description = """\
Full feature terminal based sequence editor for git interactive rebase."""
section = "utility"
priority = "optional"
assets = [
    ["target/release/interactive-rebase-tool", "usr/bin/interactive-rebase-tool", "755"],
    ["README.md", "usr/share/doc/interactive-rebase-tool/", "644"],
    ["readme/**/*.md", "usr/share/doc/interactive-rebase-tool/readme/", "644"],
    ["CHANGELOG.md", "usr/share/doc/interactive-rebase-tool/", "644"],
    ["src/interactive-rebase-tool.1", "usr/share/man/man1/interactive-rebase-tool.1", "644"]
]

[lints.rust]
future_incompatible = { level = "warn", priority = -2 }
nonstandard_style = { level = "warn", priority = -2 }
rust_2018_compatibility = { level = "warn", priority = -2 }
rust_2018_idioms = { level = "warn", priority = -2 }
rust_2021_compatibility = { level = "warn", priority = -2 }
unused = { level = "warn", priority = -2 }

unknown_lints = { level = "warn", priority = -1 }
renamed_and_removed_lints = { level = "warn", priority = -1 }

absolute_paths_not_starting_with_crate = "warn"
deprecated_in_future = "warn"
dead_code = "warn"
elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn"
ffi_unwind_calls = "warn"
keyword_idents = "warn"
let_underscore_drop = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_abi = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
non_ascii_idents = "warn"
noop_method_call = "warn"
pointer_structural_match = "warn"
rust_2021_incompatible_closure_captures = "warn"
rust_2021_incompatible_or_patterns = "warn"
rust_2021_prefixes_incompatible_syntax = "warn"
rust_2021_prelude_collisions = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unreachable_pub = "warn"
unsafe_code = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_crate_dependencies = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
unused_results = "warn"
variant_size_differences = "warn"

[lints.clippy]
all = { level = "warn", priority = -2 }
cargo = { level = "warn", priority = -2 }
pedantic = { level = "warn", priority = -2 }
restriction = { level = "warn", priority = -2 }

blanket_clippy_restriction_lints = { level = "allow", priority = 5 }
absolute_paths = "allow"
as_conversions = "allow"
arithmetic_side_effects = "allow"
bool_to_int_with_if = "allow"
default_numeric_fallback = "allow"
else_if_without_else = "allow"
expect_used = "allow"
float_arithmetic = "allow"
implicit_return = "allow"
indexing_slicing = "allow"
map_err_ignore = "allow"
min_ident_chars = "allow"
missing_docs_in_private_items = "allow"
missing_trait_methods = "allow"
module_name_repetitions = "allow"
needless_raw_string_hashes = "allow"
needless_raw_strings = "allow"
new_without_default = "allow"
non_ascii_literal = "allow"
option_if_let_else = "allow"
pattern_type_mismatch = "allow"
pub_use = "allow"
pub_with_shorthand = "allow"
question_mark_used = "allow"
redundant_closure_call = "allow"
redundant_closure_for_method_calls = "allow"
redundant_pub_crate = "allow"
ref_patterns = "allow"
self_named_module_files = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "allow"
std_instead_of_core = "allow"
tabs_in_doc_comments = "allow"
tests_outside_test_module = "allow"
too_many_lines = "allow"
unwrap_used = "allow"
wildcard_enum_match_arm = "allow"

[lints.rustdoc]
bare_urls = "warn"
broken_intra_doc_links = "warn"
invalid_codeblock_attributes = "warn"
invalid_html_tags = "warn"
missing_crate_level_docs = "allow"
private_doc_tests = "warn"
private_intra_doc_links = "warn"