mirror of
https://oauth2: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@github.com/m1ngsama/chopsticks.git
synced 2026-06-26 04:34:38 +08:00
Prepare v3 beta candidate docs
This commit is contained in:
parent
3f967af8e4
commit
c5f84a700d
7 changed files with 95 additions and 8 deletions
82
BETA.md
Normal file
82
BETA.md
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
# Beta Testing
|
||||||
|
|
||||||
|
This branch is the v3 beta candidate. Do not tag or publish it as `v3.0.0`
|
||||||
|
until the checklist below is closed.
|
||||||
|
|
||||||
|
## Install the beta
|
||||||
|
|
||||||
|
Existing checkout:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/.vim
|
||||||
|
git fetch origin
|
||||||
|
git checkout release/v3-candidate
|
||||||
|
git pull --ff-only
|
||||||
|
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
||||||
|
```
|
||||||
|
|
||||||
|
Fresh checkout:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone --branch release/v3-candidate https://github.com/m1ngsama/chopsticks.git ~/.vim
|
||||||
|
ln -sf ~/.vim/.vimrc ~/.vimrc
|
||||||
|
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
||||||
|
```
|
||||||
|
|
||||||
|
Keep local choices in `${XDG_CONFIG_HOME:-~/.config}/chopsticks.vim`:
|
||||||
|
|
||||||
|
```vim
|
||||||
|
let g:chopsticks_profile = 'engineer'
|
||||||
|
let g:chopsticks_keymap_style = 'space'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Daily test loop
|
||||||
|
|
||||||
|
Use the beta for real editing, not only demos. For each session, record:
|
||||||
|
|
||||||
|
- The task: project navigation, code edit, grep, git, LSP, Markdown, SSH.
|
||||||
|
- The first key you tried when you got stuck.
|
||||||
|
- Whether `SPC ?`, `:ChopsticksTutor`, or `:ChopsticksStatus` answered it.
|
||||||
|
- Any mapping that felt slow, awkward, surprising, or too easy to mistype.
|
||||||
|
- Any documentation line that was wrong, missing, or redundant.
|
||||||
|
|
||||||
|
## Workflows to exercise
|
||||||
|
|
||||||
|
```text
|
||||||
|
SPC SPC find file SPC / grep project
|
||||||
|
s + 2ch jump on screen gd / gr definition / references
|
||||||
|
SPC rr run current file SPC gs git status
|
||||||
|
SPC cf format SPC ca code action
|
||||||
|
SPC ? active cheat sheet :ChopsticksStatus health
|
||||||
|
```
|
||||||
|
|
||||||
|
Also test the boring path: save, quit, reopen Vim, edit over SSH, open a large
|
||||||
|
file, edit Markdown, and use a machine with missing optional tools.
|
||||||
|
|
||||||
|
## Exit criteria
|
||||||
|
|
||||||
|
- `s` as the default visible jump still feels worth the native override after
|
||||||
|
real editing.
|
||||||
|
- No high-frequency action requires remembering an undocumented key.
|
||||||
|
- README, QUICKSTART, `SPC ?`, and `:ChopsticksTutor` teach the same layout.
|
||||||
|
- `scripts/test.sh quick` and `scripts/test.sh vim` pass locally.
|
||||||
|
- The README GIF has been regenerated from `.github/demo.tape` after any public
|
||||||
|
key change.
|
||||||
|
- The beta has been tested on macOS and over SSH on Linux.
|
||||||
|
|
||||||
|
## Roll back
|
||||||
|
|
||||||
|
Return to the latest stable release:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/.vim
|
||||||
|
git fetch origin --tags
|
||||||
|
git checkout v2.2.0
|
||||||
|
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
||||||
|
```
|
||||||
|
|
||||||
|
Or keep the code but switch back to the legacy layout:
|
||||||
|
|
||||||
|
```vim
|
||||||
|
let g:chopsticks_keymap_style = 'classic'
|
||||||
|
```
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## Unreleased
|
## 3.0.0-beta.1 — 2026-05-23
|
||||||
|
|
||||||
### Breaking
|
### Breaking
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
1. **No Node.js in the Vim runtime.** Plugins must work with pure VimScript — no coc.nvim or other Node-backed completion engines. External CLIs (prettier, eslint, markdownlint, stylelint, tsc) installed via npm are fine; ALE shells out to them as optional system tools, not as part of the Vim runtime.
|
1. **No Node.js in the Vim runtime.** Plugins must work with pure VimScript — no coc.nvim or other Node-backed completion engines. External CLIs (prettier, eslint, markdownlint, stylelint, tsc) installed via npm are fine; ALE shells out to them as optional system tools, not as part of the Vim runtime.
|
||||||
2. **Startup matters.** Run `vim -u .vimrc -i NONE --startuptime /tmp/s.log -es -N -c qa!` before and after. If your change adds >1ms, it needs a good reason.
|
2. **Startup matters.** Run `vim -u .vimrc -i NONE --startuptime /tmp/s.log -es -N -c qa!` before and after. If your change adds >1ms, it needs a good reason.
|
||||||
3. **Works on TTY.** Test over SSH. If it breaks in a terminal without true color, fix it or gate it behind `g:is_tty`.
|
3. **Works on TTY.** Test over SSH. If it breaks in a terminal without true color, fix it or gate it behind `g:is_tty`.
|
||||||
4. **Native-first keymaps.** Enhance Vim's native behavior instead of replacing it. Do not override built-in motions, operators, text objects, or help-oriented keys for discoverability alone; prefer leader-prefixed or otherwise non-conflicting ergonomic mappings.
|
4. **Native-first keymaps.** Enhance Vim's native behavior instead of replacing it. Do not override built-in motions, operators, text objects, or help-oriented keys for discoverability alone. Rare exceptions, such as the default Space-layout `s` jump, must have a documented native replacement, cheat-sheet coverage, and a classic-layout fallback.
|
||||||
5. **One module, one concern.** Don't put git config in lsp.vim.
|
5. **One module, one concern.** Don't put git config in lsp.vim.
|
||||||
|
|
||||||
## Adding a plugin
|
## Adding a plugin
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
2. If it's not needed at startup, lazy-load it: `Plug 'foo/bar', { 'on': 'FooCommand' }`
|
2. If it's not needed at startup, lazy-load it: `Plug 'foo/bar', { 'on': 'FooCommand' }`
|
||||||
3. Put config in the appropriate module
|
3. Put config in the appropriate module
|
||||||
4. Check new mappings against native Vim behavior before adding them
|
4. Check new mappings against native Vim behavior before adding them
|
||||||
5. Update the cheat sheet in `modules/tools.vim` if you add keybindings
|
5. Update the cheat sheet definitions in `modules/cheatsheet.vim` if you add keybindings
|
||||||
6. Run `scripts/test.sh vim` locally after installing plugins
|
6. Run `scripts/test.sh vim` locally after installing plugins
|
||||||
7. Test on both macOS and Linux when changing terminal or package-manager behavior
|
7. Test on both macOS and Linux when changing terminal or package-manager behavior
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -141,4 +141,5 @@ syntax. Enable the heavier Markdown tools only when you want them.
|
||||||
The `SPC ?` cheat sheet follows your active profile, so `minimal` users only see
|
The `SPC ?` cheat sheet follows your active profile, so `minimal` users only see
|
||||||
keys for features that are actually loaded.
|
keys for features that are actually loaded.
|
||||||
|
|
||||||
See [README](README.md) for the full reference. See the [wiki](https://github.com/m1ngsama/chopsticks/wiki) for deep dives.
|
See [README](README.md) for the full reference. For beta testing and rollback,
|
||||||
|
see [BETA.md](BETA.md).
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@
|
||||||
curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash
|
curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
This branch is a v3 beta candidate, not a tagged stable release. Use
|
||||||
|
[BETA.md](BETA.md) when testing the Space keymap before promotion.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Why
|
## Why
|
||||||
|
|
@ -315,7 +318,8 @@ Each module is self-contained. Comment out one line in `.vimrc` to disable it. A
|
||||||
| Everything slow | Large file? Auto-disabled >10MB |
|
| Everything slow | Large file? Auto-disabled >10MB |
|
||||||
| What's installed? | `:ChopsticksStatus` shows tools, LSP, linters |
|
| What's installed? | `:ChopsticksStatus` shows tools, LSP, linters |
|
||||||
|
|
||||||
More in the [wiki](https://github.com/m1ngsama/chopsticks/wiki).
|
For deeper checks, start with `:ChopsticksStatus`, `SPC ?`,
|
||||||
|
`:ChopsticksTutor`, and [QUICKSTART.md](QUICKSTART.md).
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ function! s:CheatSheet() abort
|
||||||
|
|
||||||
call extend(l:lines, [
|
call extend(l:lines, [
|
||||||
\ ' SPC rr run file',
|
\ ' SPC rr run file',
|
||||||
\ ' SPC cW strip trailing (v)',
|
\ ' SPC cW strip trailing',
|
||||||
\ ' SPC c= re-indent file (opt-in)',
|
\ ' SPC c= re-indent file (opt-in)',
|
||||||
\ ' SPC = re-indent (v)',
|
\ ' SPC = re-indent (v)',
|
||||||
\ ])
|
\ ])
|
||||||
|
|
@ -222,7 +222,7 @@ function! s:CheatSheet() abort
|
||||||
\ ' Alt+j/k move line (v)',
|
\ ' Alt+j/k move line (v)',
|
||||||
\ ' ,* replace word (v)',
|
\ ' ,* replace word (v)',
|
||||||
\ ' ,F re-indent (v)',
|
\ ' ,F re-indent (v)',
|
||||||
\ ' ,W strip trailing (v)',
|
\ ' ,W strip trailing',
|
||||||
\ '',
|
\ '',
|
||||||
\ ' ── git ───────────────────',
|
\ ' ── git ───────────────────',
|
||||||
\ ' ,gs status',
|
\ ' ,gs status',
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ check_shell() {
|
||||||
check_docs() {
|
check_docs() {
|
||||||
step "Markdown lint"
|
step "Markdown lint"
|
||||||
need markdownlint
|
need markdownlint
|
||||||
markdownlint README.md QUICKSTART.md CONTRIBUTING.md CHANGELOG.md
|
markdownlint README.md QUICKSTART.md CONTRIBUTING.md CHANGELOG.md BETA.md
|
||||||
|
|
||||||
if command -v vhs >/dev/null 2>&1; then
|
if command -v vhs >/dev/null 2>&1; then
|
||||||
vhs validate .github/demo.tape
|
vhs validate .github/demo.tape
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue