-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
249 lines (240 loc) · 9.17 KB
/
Copy pathCargo.toml
File metadata and controls
249 lines (240 loc) · 9.17 KB
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
cargo-features = ["profile-rustflags"]
[workspace]
members = ["crates/*"]
default-members = ["crates/flowstate"]
resolver = "3"
[workspace.package]
version = "0.1.0"
edition = "2024"
publish = false
[workspace.dependencies]
anyhow = "1.0.102"
clap = { version = "4.5", features = ["derive"] }
cosmic-text = { version = "0.14.2", default-features = false, features = [
"shape-run-cache",
] }
crop = "0.4.3"
dirs = "6.0.0"
docx-rs = "0.4.20"
docxide-pdf = { version = "0.15.1", default-features = false, git = "https://github.com/realartists-gitmo/docxide-pdf.git", branch = "main" }
fff-search = "0.8.2-nightly.ffb39a8"
flowstate-document = { version = "0.1.0", path = "crates/flowstate-document" }
flowstate-docx = { version = "0.1.0", path = "crates/flowstate-docx" }
flowstate-flow = { version = "0.1.0", path = "crates/flowstate-flow" }
flowstate-tub = { version = "0.1.0", path = "crates/flowstate-tub" }
gpui-flowtext = { version = "0.1.0", path = "crates/gpui-flowtext" }
gpui = "0.2.2"
gpui-component = "0.5.1"
gpui-component-assets = "0.5.1"
gpui-symbols = { version = "0.6.1", features = ["component"] }
hotpath = "0.16.1"
ignore = "0.4.25"
imagesize = "0.13"
lopdf = "0.40.0"
mimalloc = "0.1.52"
mitex = "0.2"
notify = "8.2.0"
quick-xml = "0.36.2"
rdocx = "0.1.2"
rdocx-opc = "0.1.2"
rdocx-oxml = "0.1.2"
resvg = "0.45.1"
rusqlite = { version = "0.40.0", features = ["bundled"] }
rustc-hash = "2.1.2"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
tantivy = "0.26.1"
tempfile = "3"
toml = "1.1.2"
typst = "0.14"
typst-assets = "0.14"
typst-library = "0.14"
typst-svg = "0.14"
unicode-segmentation = "1"
uuid = { version = "1.23.1", features = ["serde", "v4"] }
zip = { version = "0.6.6", default-features = false, features = ["deflate"] }
zstd = "0.13.3"
[patch.crates-io]
gpui-component = { path = "vendor/gpui-component" }
[workspace.lints.clippy]
correctness = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
style = { level = "deny", priority = -1 }
complexity = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
cargo = { level = "deny", priority = -1 }
# This is a private application workspace; publishing metadata would be invented rather than factual.
cargo_common_metadata = "allow"
# Fully-qualified standard-library paths are often clearer in short local helpers.
absolute_paths = "allow"
allow_attributes_without_reason = "deny"
# Logical domain/API ordering is more readable than strict alphabetical ordering in this codebase.
arbitrary_source_item_ordering = "allow"
as_pointer_underscore = "deny"
as_underscore = "deny"
# Clone assignment forms in UI state code are often clearer than `clone_from` when replacing snapshots.
assigning_clones = "allow"
branches_sharing_code = "allow"
# Explicit `.clone()` is the established local pattern for GPUI/Rc handles.
clone_on_ref_ptr = "allow"
# Checked/saturated conversions guard file timestamps and bounded document sizes at call sites.
cast_possible_truncation = "allow"
# Document byte counts and UI dimensions are bounded by practical editor limits before these casts matter.
cast_possible_wrap = "allow"
cast_sign_loss = "allow"
cast_lossless = "allow"
cast_precision_loss = "allow"
# Literal suffixes in small UI/demo constants add noise without changing behavior.
default_numeric_fallback = "allow"
default_union_representation = "deny"
derive_partial_eq_without_eq = "allow"
deref_by_slicing = "allow"
else_if_without_else = "allow"
equatable_if_let = "allow"
empty_enum_variants_with_brackets = "deny"
empty_structs_with_brackets = "deny"
error_impl_error = "deny"
# Shared layout metrics intentionally expose crate-scoped fields across rendering modules.
field_scoped_visibility_modifiers = "allow"
filetype_is_file = "allow"
fn_to_numeric_cast_any = "deny"
future_not_send = "allow"
get_unwrap = "deny"
if_then_some_else_none = "deny"
if_not_else = "allow"
ignored_unit_patterns = "allow"
# `impl Trait` keeps small public helper APIs ergonomic without exposing unnecessary generic names.
impl_trait_in_params = "allow"
# Editor model code indexes after local invariant checks; replacing all indexing would obscure those invariants.
indexing_slicing = "allow"
infinite_loop = "deny"
# Some hash iteration is over semantically unordered collections; deterministic callers sort explicitly.
iter_over_hash_type = "allow"
lossy_float_literal = "deny"
# Persistence decoding intentionally replaces low-level conversion errors with domain-specific messages.
map_err_ignore = "allow"
# `let...else` is not always clearer for recover-and-continue parser loops.
manual_let_else = "allow"
manual_midpoint = "allow"
map_with_unused_argument_over_ranges = "allow"
mem_forget = "deny"
# Short closure names are conventional for compact predicates and GPUI callbacks.
min_ident_chars = "allow"
missing_assert_message = "allow"
missing_asserts_for_indexing = "allow"
# Public APIs in internal crates use descriptive function names; exhaustive doc boilerplate is not required yet.
missing_errors_doc = "allow"
# Blanket public-item inlining would churn APIs and can regress compile time without evidence of a hot path.
missing_inline_in_public_items = "allow"
missing_const_for_fn = "allow"
missing_panics_doc = "allow"
mixed_read_write_in_expression = "deny"
module_name_repetitions = "allow"
module_inception = "allow"
# Multiple impl blocks keep construction, querying, and mutation APIs grouped by concern.
multiple_inherent_impl = "allow"
# Duplicate versions are currently introduced by transitive GUI/platform dependencies; forcing them would risk regressions.
multiple_crate_versions = "allow"
multiple_unsafe_ops_per_block = "deny"
mutex_atomic = "deny"
mutex_integer = "deny"
non_zero_suggestions = "deny"
# Some APIs intentionally own IDs/entities to match command construction and GPUI entity handle usage.
needless_pass_by_value = "allow"
# GPUI render/callback signatures often require mutable references even when a helper only reads them.
needless_pass_by_ref_mut = "allow"
pub_without_shorthand = "deny"
range_plus_one = "allow"
# Rc<Vec<T>> is used with APIs that already traffic in Vec snapshots.
rc_buffer = "allow"
rc_mutex = "deny"
redundant_test_prefix = "deny"
redundant_type_annotations = "deny"
redundant_clone = "allow"
redundant_closure_for_method_calls = "allow"
redundant_pub_crate = "allow"
ref_patterns = "deny"
renamed_function_params = "deny"
rest_pat_in_fully_bound_structs = "deny"
return_and_then = "allow"
same_name_method = "deny"
semicolon_outside_block = "deny"
similar_names = "allow"
single_match_else = "allow"
suboptimal_flops = "allow"
suspicious_operation_groupings = "allow"
unnecessary_semicolon = "allow"
useless_let_if_seq = "allow"
unseparated_literal_suffix = "allow"
# Rebinding validated inputs and callback handles keeps editor/GPUI control flow readable.
shadow_reuse = "allow"
shadow_same = "allow"
# GPUI callback-heavy code conventionally reuses `cx`, `window`, and entity names at nested scopes.
shadow_unrelated = "allow"
# Single-use helpers keep persistence, validation, and editor transforms modular and reviewable.
single_call_fn = "allow"
# Short lifetime names are acceptable in compact internal borrowed-view structs.
single_char_lifetime_names = "allow"
str_to_string = "allow"
# Boolean-heavy model/theme structs mirror serialized document state and UI toggles.
struct_excessive_bools = "allow"
# Repeated field suffixes are intentional for ID maps where the noun is the important distinction.
struct_field_names = "allow"
string_add = "deny"
string_lit_chars_any = "deny"
# Modules are assembled via `include!()` concatenation (see edit_ops/persistence),
# so a file's `#[cfg(test)]` module is necessarily followed by later includes.
items_after_test_module = "allow"
tests_outside_test_module = "deny"
# Serde callback signatures require references even for tiny copy types.
trivially_copy_pass_by_ref = "allow"
# Long demo/template builders and explanatory doc paragraphs are clearer kept together.
too_long_first_doc_paragraph = "allow"
too_many_lines = "allow"
# DOCX style recognizers naturally pass several independent context slices and flags.
too_many_arguments = "allow"
fn_params_excessive_bools = "allow"
undocumented_unsafe_blocks = "deny"
unnecessary_self_imports = "deny"
unneeded_field_pattern = "allow"
unnecessary_wraps = "allow"
unused_result_ok = "allow"
unused_self = "allow"
unused_trait_names = "allow"
use_self = "allow"
used_underscore_binding = "allow"
verbose_file_reads = "deny"
wildcard_imports = "allow"
must_use_candidate = "allow"
or_fun_call = "allow"
option_if_let_else = "allow"
map_unwrap_or = "allow"
float_cmp = "allow"
implicit_clone = "allow"
items_after_statements = "allow"
iter_on_single_items = "allow"
needless_continue = "allow"
match_same_arms = "allow"
unnested_or_patterns = "allow"
unreadable_literal = "allow"
collapsible_else_if = "allow"
[profile.release]
rustflags = ["-Z", "threads=0"]
incremental = true
[profile.profiler]
inherits = "release"
opt-level = 3
overflow-checks = false
debug = true
strip = false
[profile.product]
inherits = "release"
opt-level = 3
incremental = false
overflow-checks = false
strip = true
lto = "fat"
codegen-units = 1
rustflags = ["-C", "target-cpu=native", "-Z", "tune-cpu=native"]