27 个版本
0.3.2 | 2020年4月14日 |
---|---|
0.3.1 | 2020年2月24日 |
0.2.2 | 2019年6月28日 |
0.2.0 | 2019年2月25日 |
0.1.16 | 2018年11月15日 |
#161 在 文本编辑器
每月75次下载
280KB
6.5K SLoC
Accepted
一个待接受的终端文本编辑器。
描述
一个为竞技程序员编写的基于 Rust 的模式文本编辑器。
目前 Accepted 支持 Rust 和 C++。
功能
- 为 Rust 和 C++ 预配置
- 使用 Rustfmt / ClangFormat / 或配置指定自动格式化
- 使用 TabNine / RLS / Clangd / 或其他 LSP 服务器完成
- 自动编译并显示编译消息(支持 rustc / gcc / clang)
- 易于测试单个代码
- VScode 风格代码片段支持
- 鼠标支持
- rmate 协议
安装
您需要 nightly Rust。
$ cargo install accepted
如果您想安装 HEAD
版本,您可以从 git 安装到
$ cargo install -f --git=https://github.com/hatoo/Accepted
Rust 用户
安装 rust 组件。
$ rustup component add rls-preview
$ rustup component add rust-src
$ rustup component add rustfmt-preview
C++ 用户
安装 clang、clang-format 和 clangd。
用法
$ acc [file]
待办事项:更精确。
基本
acc
的许多命令与 Vim 相同。
i, I, a, A, o, O 插入模式,Esc 返回。
hjkl, w, e, b 移动光标。
y, d, c, v, V 与 vim 类似工作
空格前缀
一些命令可以以空格为前缀运行。
空格 -> q 退出。
空格 -> s 保存。
空格 -> a 另存为。
空格 -> y 复制全部到剪贴板
空格 -> Rustfmt。
空格 -> t 使用剪贴板输入编译和运行。
空格 -> T 使用剪贴板输入编译(优化)并运行。
空格 -> q 退出。
空格 -> r 启动 rmate 服务器
配置
您可以通过放置在 [config_dir]/acc/config.toml
的 toml 文件进行配置
您可以通过 $ acc --config
轻松打开配置文件。
config_dir
在 这里 定义。
以下为默认配置。您可以使用自己的配置覆盖它。
# Configure to defaults
[file_default]
# Put spaces instead of '\t' when tab key is pressed
hard_tab = false
indent_width = 4
# Set true if you are running in legacy terminal which has no true color
ansi_color = false
# Command for TabNine
tabnine = ["TabNine"]
# Set theme
# You can set either theme name which is bundled by `syntect` and file path for .tmTheme
theme = "Solarized (dark)"
# Configure for *.rs files
[file.rs]
# Setting compiler and its type.
compiler = { command=["rustc", "$FILE_PATH", "--error-format=json"], type="rustc", optimize_option=["-O"] }
# Setting LSP server command
lsp = ["rls"]
# Setting formatter command
formatter = ["rustfmt"]
# Command for testing
test_command = ["./$FILE_STEM"]
[file.cpp]
# Configure for *.cpp files
# Respect clang-format
indent_width = 2
compiler = { command=["clang", "$FILE_PATH", "-o", "$FILE_STEM"], type="gcc", optimize_option=["-O2"] }
lsp = ["clangd"]
formatter = ["clang-format"]
test_command = ["./$FILE_STEM"]
[file.c]
# Same as cpp
indent_width = 2
compiler = { command=["clang", "$FILE_PATH", "-o", "$FILE_STEM"], type="gcc", optimize_option=["-O2"] }
lsp = ["clangd"]
formatter = ["clang-format"]
test_command = ["./$FILE_STEM"]
[file.rb]
indent_width = 2
[file.go]
formatter = ["gofmt"]
hard_tab = true
贡献
欢迎任何形式的贡献,包括功能请求!!
依赖项
~14-25MB
~355K SLoC