-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
135 lines (112 loc) · 4.03 KB
/
Copy pathCargo.toml
File metadata and controls
135 lines (112 loc) · 4.03 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
[package]
name = "notepadx"
version = "1.3.3"
edition = "2021"
description = "A fast, beautiful, cross-platform text editor"
license = "MIT"
[features]
default = ["lang-js", "lang-python", "lang-json"]
full-syntax = [
"lang-js", "lang-ts", "lang-python", "lang-json", "lang-html", "lang-css",
"lang-toml", "lang-bash", "lang-yaml", "lang-xml",
"lang-rust", "lang-go", "lang-c", "lang-cpp", "lang-java", "lang-ruby",
"lang-php", "lang-lua", "lang-markdown", "lang-zig",
]
lang-js = ["dep:tree-sitter-javascript"]
lang-ts = ["dep:tree-sitter-typescript"]
lang-python = ["dep:tree-sitter-python"]
lang-json = ["dep:tree-sitter-json"]
lang-html = ["dep:tree-sitter-html"]
lang-css = ["dep:tree-sitter-css"]
lang-toml = ["dep:tree-sitter-toml-ng"]
lang-bash = ["dep:tree-sitter-bash"]
lang-yaml = ["dep:tree-sitter-yaml"]
lang-xml = ["dep:tree-sitter-xml"]
lang-rust = ["dep:tree-sitter-rust"]
lang-go = ["dep:tree-sitter-go"]
lang-c = ["dep:tree-sitter-c"]
lang-cpp = ["dep:tree-sitter-cpp"]
lang-java = ["dep:tree-sitter-java"]
lang-ruby = ["dep:tree-sitter-ruby"]
lang-php = ["dep:tree-sitter-php"]
lang-lua = ["dep:tree-sitter-lua"]
lang-markdown = ["dep:tree-sitter-md"]
lang-zig = ["dep:tree-sitter-zig"]
[dependencies]
# Windowing
winit = "0.30"
# Text shaping & layout
glyphon = "0.7"
# Text buffer
ropey = "1.6"
# Async runtime (for wgpu)
pollster = "0.4"
# Logging
log = "0.4"
env_logger = "0.11"
# Error handling
anyhow = "1.0"
# Regex search (minimal — no Unicode tables or DFA)
regex = { version = "1", default-features = false, features = ["std"] }
# Memory-mapped I/O for large-file search
memmap2 = "0.9"
# Clipboard (text only, no image support)
arboard = { version = "3", default-features = false }
# File dialog
rfd = "0.15"
# Encoding detection
encoding_rs = "0.8"
# Serialization (for config files)
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# PNG decoding for app icon
png = "0.17"
# Vertex data
bytemuck = { version = "1.19", features = ["derive"] }
# Native menus (macOS menu bar support)
muda = "0.15"
# Syntax highlighting (tree-sitter)
tree-sitter = "0.25"
tree-sitter-highlight = "0.25"
tree-sitter-javascript = { version = "0.23", optional = true }
tree-sitter-typescript = { version = "0.23", optional = true }
tree-sitter-python = { version = "0.23", optional = true }
tree-sitter-json = { version = "0.24", optional = true }
tree-sitter-html = { version = "0.23", optional = true }
tree-sitter-css = { version = "0.23", optional = true }
tree-sitter-toml-ng = { version = "0.7", optional = true }
tree-sitter-bash = { version = "0.23", optional = true }
tree-sitter-yaml = { version = "0.7", optional = true }
tree-sitter-xml = { version = "0.7", optional = true }
tree-sitter-rust = { version = "0.24", optional = true }
tree-sitter-go = { version = "0.25", optional = true }
tree-sitter-c = { version = "0.24", optional = true }
tree-sitter-cpp = { version = "0.23", optional = true }
tree-sitter-java = { version = "0.23", optional = true }
tree-sitter-ruby = { version = "0.23", optional = true }
tree-sitter-php = { version = "0.24", optional = true }
tree-sitter-lua = { version = "0.5", optional = true }
tree-sitter-md = { version = "0.5", optional = true }
tree-sitter-zig = { version = "1.1", optional = true }
# GPU rendering (platform-specific backends)
[target.'cfg(target_os = "macos")'.dependencies]
wgpu = { version = "23", default-features = false, features = ["metal", "wgsl"] }
[target.'cfg(target_os = "windows")'.dependencies]
wgpu = { version = "23", default-features = false, features = ["dx12", "wgsl"] }
[target.'cfg(target_os = "linux")'.dependencies]
wgpu = { version = "23", default-features = false, features = ["wgc", "wgsl"] }
[build-dependencies]
winres = "0.1"
[package.metadata.bundle]
name = "NotepadX"
identifier = "com.notepadx.app"
icon = ["assets/logo.icns"]
category = "public.app-category.developer-tools"
short_description = "A fast, beautiful, cross-platform text editor"
copyright = "2025 NotepadX"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true