[package]
edition = "2024"
rust-version = "1.89.0"
name = "rsvim_core"
version = "0.1.3-alpha.2"
authors = ["Lin Rongbin <linrongbin16@outlook.com>"]
build = false
exclude = [".DS_Store"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The core library for RSVIM text editor."
homepage = "https://rsvim.github.io/"
documentation = "https://rsvim.github.io/"
readme = "README.md"
keywords = [
"editor",
"neovim",
"terminal",
"text-editor",
"vim",
]
categories = ["text-editors"]
license = "Vim"
repository = "https://github.com/rsvim/rsvim"
[features]
default = [
"unicode",
"simd",
]
icudata = [
"dep:deno_core_icudata",
"icu/compiled_data",
]
simd = ["ropey/simd"]
typescript = [
"dep:swc_atoms",
"dep:swc_bundler",
"dep:swc_common",
"dep:swc_config",
"dep:swc_config_macro",
"dep:swc_ecma_ast",
"dep:swc_ecma_codegen",
"dep:swc_ecma_codegen_macros",
"dep:swc_ecma_lexer",
"dep:swc_ecma_loader",
"dep:swc_ecma_parser",
"dep:swc_ecma_transforms_base",
"dep:swc_ecma_transforms_classes",
"dep:swc_ecma_transforms_compat",
"dep:swc_ecma_transforms_macros",
"dep:swc_ecma_transforms_optimization",
"dep:swc_ecma_transforms_proposal",
"dep:swc_ecma_transforms_react",
"dep:swc_ecma_transforms_typescript",
"dep:swc_ecma_utils",
"dep:swc_ecma_visit",
"dep:swc_eq_ignore_macros",
"dep:swc_graph_analyzer",
"dep:swc_macros_common",
"dep:swc_sourcemap",
"dep:swc_trace_macro",
"dep:swc_visit",
]
tzdata = ["jiff/tzdb-bundle-always"]
unicode = ["ropey/unicode_lines"]
wasm = []
[lib]
name = "rsvim_core"
path = "src/lib.rs"
doctest = false
[[bench]]
name = "canvas_shade"
path = "benches/canvas_shade.rs"
harness = false
[[bench]]
name = "viewport_search_nowrap"
path = "benches/viewport_search_nowrap.rs"
harness = false
[[bench]]
name = "viewport_search_wrap_linebreak"
path = "benches/viewport_search_wrap_linebreak.rs"
harness = false
[[bench]]
name = "viewport_search_wrap_nolinebreak"
path = "benches/viewport_search_wrap_nolinebreak.rs"
harness = false
[dependencies.arcstr]
version = "1.2"
features = [
"std",
"std",
]
[dependencies.ascii]
version = "1.1"
[dependencies.async-trait]
version = "0.1"
[dependencies.clap]
version = "4.6"
features = [
"std",
"help",
"usage",
"derive",
"std",
"help",
"usage",
"derive",
]
default-features = false
[dependencies.compact_str]
version = "0.9"
[dependencies.crossterm]
version = "0.29"
features = [
"event-stream",
"event-stream",
]
[dependencies.deno_core_icudata]
version = "0.77"
optional = true
[dependencies.derive_builder]
version = "0.20"
[dependencies.dirs]
version = "6.0"
[dependencies.encoding_rs]
version = "0.8"
[dependencies.env_filter]
version = "1.0"
[dependencies.fern]
version = "0.7"
[dependencies.foldhash]
version = "0.2"
[dependencies.futures]
version = "0.3"
[dependencies.geo]
version = "0.33"
[dependencies.icu]
version = "2"
[dependencies.itertools]
version = "0.14"
[dependencies.jiff]
version = "0.2"
[dependencies.litemap]
version = "0.8"
[dependencies.log]
version = "0.4"
features = [
"max_level_trace",
"release_max_level_error",
"max_level_trace",
"release_max_level_error",
]
[dependencies.lru]
version = "0.18"
[dependencies.normpath]
version = "1.5"
[dependencies.num-traits]
version = "0.2"
[dependencies.oxc_resolver]
version = "11.19"
[dependencies.paste]
version = "1.0"
[dependencies.path-absolutize]
version = "3.1"
[dependencies.postcard]
version = "1.1"
features = [
"use-std",
"use-std",
]
default-features = false
[dependencies.roaring]
version = "0.11"
[dependencies.ropey]
version = "1.6"
default-features = false
[dependencies.rsvim_macro]
version = "0.1.3-alpha.2"
[dependencies.serde]
version = "1"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.smallvec]
version = "1.15"
[dependencies.strum]
version = "0.28"
[dependencies.strum_macros]
version = "0.28"
[dependencies.swc_atoms]
version = "=9.0.0"
optional = true
[dependencies.swc_bundler]
version = "=48.0.0"
optional = true
[dependencies.swc_common]
version = "=21.0.1"
optional = true
[dependencies.swc_config]
version = "=4.0.1"
optional = true
[dependencies.swc_config_macro]
version = "=1.0.1"
optional = true
[dependencies.swc_ecma_ast]
version = "=23.0.0"
optional = true
[dependencies.swc_ecma_codegen]
version = "=26.0.1"
optional = true
[dependencies.swc_ecma_codegen_macros]
version = "=2.0.2"
optional = true
[dependencies.swc_ecma_lexer]
version = "=38.0.1"
optional = true
[dependencies.swc_ecma_loader]
version = "=21.0.0"
optional = true
[dependencies.swc_ecma_parser]
version = "=39.0.2"
optional = true
[dependencies.swc_ecma_transforms_base]
version = "=42.0.0"
features = [
"inline-helpers",
"inline-helpers",
]
optional = true
[dependencies.swc_ecma_transforms_classes]
version = "=42.0.0"
optional = true
[dependencies.swc_ecma_transforms_compat]
version = "=48.0.0"
optional = true
[dependencies.swc_ecma_transforms_macros]
version = "=1.0.1"
optional = true
[dependencies.swc_ecma_transforms_optimization]
version = "=44.0.0"
optional = true
[dependencies.swc_ecma_transforms_proposal]
version = "=42.0.0"
optional = true
[dependencies.swc_ecma_transforms_react]
version = "=46.0.1"
optional = true
[dependencies.swc_ecma_transforms_typescript]
version = "=46.0.1"
optional = true
[dependencies.swc_ecma_utils]
version = "=29.1.0"
optional = true
[dependencies.swc_ecma_visit]
version = "=23.0.0"
optional = true
[dependencies.swc_eq_ignore_macros]
version = "=1.0.1"
optional = true
[dependencies.swc_graph_analyzer]
version = "=14.0.1"
optional = true
[dependencies.swc_macros_common]
version = "=1.0.1"
optional = true
[dependencies.swc_sourcemap]
version = "=10.0.2"
optional = true
[dependencies.swc_trace_macro]
version = "=2.0.2"
optional = true
[dependencies.swc_visit]
version = "=2.0.1"
optional = true
[dependencies.taffy]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"fs",
"io-std",
"io-util",
"macros",
"net",
"process",
"rt",
"rt-multi-thread",
"signal",
"sync",
"time",
"fs",
"io-std",
"io-util",
"macros",
"net",
"process",
"rt",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.tokio-util]
version = "0.7"
features = [
"full",
"full",
]
[dependencies.toml]
version = "1.1"
features = [
"fast_hash",
"fast_hash",
]
[dependencies.tree-sitter]
version = "0.26"
[dependencies.tree-sitter-loader]
version = "0.26"
[dependencies.v8]
version = "=147.4.0"
features = [
"use_custom_libcxx",
"simdutf",
"use_custom_libcxx",
"simdutf",
]
default-features = false
[dev-dependencies.assert_fs]
version = "1.1"
[dev-dependencies.bitflags]
version = "2.11"
[dev-dependencies.criterion]
version = "0.8"
features = [
"async_tokio",
"async_tokio",
]
[dev-dependencies.fastrand]
version = "2.4"
[dev-dependencies.regex]
version = "1.12"
[dev-dependencies.tree-sitter-c]
version = "0.24"
[dev-dependencies.tree-sitter-html]
version = "0.23"
[dev-dependencies.tree-sitter-md]
version = "0.5"
[dev-dependencies.tree-sitter-rust]
version = "0.24"
[dev-dependencies.tree-sitter-toml-ng]
version = "0.7"
[dev-dependencies.unicode-width]
version = "0.2"
[lints.clippy]
collapsible_else_if = "allow"
collapsible_if = "allow"
new_without_default = "allow"
nonminimal_bool = "allow"