[workspace] resolver = "2" members = ["asm-lsp", "asm_docs_parsing", "xtask"] default-members = ["asm-lsp"] [workspace.package] version = "0.10.1" authors = ["Nikos Koukis ", "Will Lillis "] edition = "2024" description = "Language Server for x86/x86_64, ARM, RISCV, and z80 Assembly Code" documentation = "https://docs.rs/asm-lsp/latest/asm_lsp/" homepage = "https://github.com/bergercookie/asm-lsp" repository = "https://github.com/bergercookie/asm-lsp" readme = "README.md" keywords = ["assembly", "language-server", "lsp", "tooling", "x86"] categories = ["command-line-utilities", "development-tools"] exclude = ["samples/*", "demo/*"] license = "BSD-2-Clause" [workspace.dependencies] anyhow = "1.0.86" bincode = "2.0.1" dirs = "6.0.0" toml = "0.8.1" clap = { version = "4.5.8", features = ["derive", "cargo"] } serde = { version = "1.0.204", features = ["derive"] } schemars = "0.8.22" serde_json = "1.0.94" [workspace.lints.clippy] dbg_macro = "deny" todo = "deny" all = { level = "deny", priority = -1 } pedantic = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } cargo = { level = "warn", priority = -1 } # Allow a subset of the warning allowed in treesitter codebase # that are also rampant in this codebase redundant_closure = "allow" cognitive_complexity = "allow" implicit_hasher = "allow" # Using the URI type to identify open files is kind of unavoidable, tell clippy everything's gonna be ok mutable_key_type = "allow" multiple_crate_versions = "allow" items_after_statements = "allow" cast_possible_truncation = "allow" module_name_repetitions = "allow" too_many_lines = "allow" similar_names = "allow" # Taken from tree-sitter's `Cargo.toml` # The lints below are a specific subset of the pedantic+nursery lints # that we explicitly allow in the tree-sitter codebase because they either: # # 1. Contain false positives, # 2. Are unnecessary, or # 3. Worsen the code # branches_sharing_code = "allow" # cast_lossless = "allow" # cast_possible_wrap = "allow" # cast_precision_loss = "allow" # cast_sign_loss = "allow" # checked_conversions = "allow" # collection_is_never_read = "allow" # fallible_impl_from = "allow" # fn_params_excessive_bools = "allow" # inline_always = "allow" # if_not_else = "allow" # match_wildcard_for_single_variants = "allow" # missing_errors_doc = "allow" # missing_panics_doc = "allow" # option_if_let_else = "allow" # or_fun_call = "allow" # range_plus_one = "allow" # redundant_closure_for_method_calls = "allow" # string_lit_as_bytes = "allow" # struct_excessive_bools = "allow" # struct_field_names = "allow" # transmute_undefined_repr = "allow" # unnecessary_wraps = "allow" # unused_self = "allow" # # Only on nightly for now # used_underscore_items = "allow" # ref_option = "allow"