-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
112 lines (107 loc) · 3.88 KB
/
Copy pathCargo.toml
File metadata and controls
112 lines (107 loc) · 3.88 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
[package]
name = "binvim"
version = "0.6.4"
edition = "2024"
rust-version = "1.85"
description = "Vim-grammar TUI editor with batteries included — tree-sitter, multi-server LSP, DAP, multi-cursor, sessions, single binary, no plugin system."
authors = ["B. Gunnarsson (@bgunnarssonis)"]
license-file = "LICENSE"
repository = "https://github.com/bgunnarsson/binvim"
homepage = "https://binvim.dev"
readme = "README.md"
keywords = ["editor", "vim", "tui", "lsp", "tree-sitter"]
categories = ["command-line-utilities", "text-editors"]
# Keep /playground, /themes, /scripts, /.github, proptest-regressions,
# and the like out of the crates.io tarball — they're development
# assets that live on github.com, not things the editor needs at
# runtime. The leading `/` anchors each entry to the package root;
# without it, `README.md` would match `playground/*/README.md` too
# and Cargo would pull every node_modules license file along with it.
include = [
"/src/**/*",
"/Cargo.toml",
"/Cargo.lock",
"/LICENSE",
"/README.md",
"/CHANGELOG.md",
"/rustfmt.toml",
]
[dependencies]
ropey = "1.6"
crossterm = "0.28"
anyhow = "1"
unicode-segmentation = "1.12"
unicode-width = "0.2"
tree-sitter = "0.26"
tree-sitter-rust = "0.23"
tree-sitter-typescript = "0.23"
tree-sitter-javascript = "0.23"
tree-sitter-json = "0.24"
tree-sitter-go = "0.23"
tree-sitter-md = "0.3"
tree-sitter-html = "0.23"
tree-sitter-css = "0.23"
tree-sitter-c-sharp = "0.23"
tree-sitter-bash = "0.25"
tree-sitter-razor = "0.1"
tree-sitter-yaml = "0.7"
tree-sitter-xml = "0.7"
tree-sitter-python = "0.23"
tree-sitter-c = "0.23"
tree-sitter-cpp = "0.23"
tree-sitter-lua = "0.4"
tree-sitter-java = "0.23"
tree-sitter-ruby = "0.23"
tree-sitter-php = "0.24"
tree-sitter-toml-ng = "0.7"
tree-sitter-svelte-ng = "1"
tree-sitter-zig = "1"
tree-sitter-nix = "0.3"
tree-sitter-elixir = "0.3"
tree-sitter-kotlin-ng = "1"
tree-sitter-containerfile = "0.8"
tree-sitter-sequel = "0.3"
regex = "1"
streaming-iterator = "0.1"
ignore = "0.4"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
arboard = { version = "3", default-features = false }
# `dirs` surfaces the platform conventions for home / config / cache /
# data directories — `~/.config` on Linux, `~/Library/...` on macOS,
# `%APPDATA%` and `%LOCALAPPDATA%` on Windows. Centralising on it lets
# every callsite stay platform-agnostic.
dirs = "5"
# `portable-pty` provides forkpty + ConPTY behind a unified API so
# the same `:terminal` code works on macOS / Linux / (eventually)
# Windows. `vte` is the WezTerm-derived VT100/xterm escape parser —
# we feed it PTY bytes and it calls our callbacks to mutate the
# terminal grid. No allocation per byte, no dependence on a renderer.
portable-pty = "0.9"
vte = "0.15"
# tree-sitter-scss 1.0.0's build.rs passes the GCC-only flag
# `-Wno-unused-parameter` to whatever C compiler the host picks, which
# breaks cl.exe on Windows-MSVC (`D8021: invalid numeric argument`).
# Gate it out on MSVC and fall back to the CSS grammar there — the
# CSS subset of SCSS still highlights cleanly; only SCSS-only
# constructs (`$var`, `@mixin`, nesting) lose their dedicated
# captures. Re-enable everywhere once upstream guards the flag with
# `flag_if_supported`.
[target.'cfg(not(target_env = "msvc"))'.dependencies]
tree-sitter-scss = "1.0.0"
# SIGTERM and SIGHUP (a `kill`, a closed terminal) end the process on the
# spot by default, before dirty buffers' recovery files are brought up to
# date. Already in the dependency tree through crossterm; Windows has no
# equivalent signals to catch.
[target.'cfg(unix)'.dependencies]
signal-hook = "0.3"
[dev-dependencies]
# proptest drives the property-based test suite for motion / text_object
# invariants and the panic-hardening passes over compute_byte_colors and the
# LSP JSON shape extractors. Stays on stable, runs in `cargo test`.
proptest = "1"
[profile.release]
lto = "thin"
codegen-units = 1
strip = true