mirror of
https://oauth2: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@github.com/m1ngsama/chopsticks.git
synced 2026-06-26 05:54:37 +08:00
Prepare 2.3.0 release candidate
This commit is contained in:
parent
16c1974e1a
commit
3507945b78
13 changed files with 94 additions and 93 deletions
26
BETA.md
26
BETA.md
|
|
@ -1,23 +1,23 @@
|
||||||
# Beta Testing
|
# 2.3.0 Release Candidate Testing
|
||||||
|
|
||||||
This branch is the v3 beta candidate. The goal is to prove that the Space
|
This branch is the 2.3.0 release candidate. The goal is to prove that the Space
|
||||||
layout can serve as a long-term project loop for experienced Vim users, not
|
layout can serve as the project loop for experienced Vim users, not just that
|
||||||
just that the mappings work in isolation. Do not tag or publish it as `v3.0.0`
|
the mappings work in isolation. Do not tag or publish it as `2.3.0` until the
|
||||||
until the checklist below is closed.
|
checklist below is closed.
|
||||||
|
|
||||||
Inside Vim, run `:ChopsticksBeta` for the compact checklist,
|
Inside Vim, run `:ChopsticksBeta` for the compact checklist,
|
||||||
`:ChopsticksBetaLog` for editable local notes, and `:ChopsticksBetaSession`
|
`:ChopsticksBetaLog` for editable local notes, and `:ChopsticksBetaSession`
|
||||||
to append a new session block. Run `:ChopsticksHelp` or `:help chopsticks`
|
to append a new session block. Run `:ChopsticksHelp` or `:help chopsticks`
|
||||||
for the native Vim reference.
|
for the native Vim reference.
|
||||||
|
|
||||||
## Install the beta
|
## Install the release candidate
|
||||||
|
|
||||||
Existing checkout:
|
Existing checkout:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/.vim
|
cd ~/.vim
|
||||||
git fetch origin
|
git fetch origin
|
||||||
git checkout release/v3-candidate
|
git checkout release/2.3.0
|
||||||
git pull --ff-only
|
git pull --ff-only
|
||||||
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
||||||
```
|
```
|
||||||
|
|
@ -25,7 +25,7 @@ vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
||||||
Fresh checkout:
|
Fresh checkout:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone --branch release/v3-candidate https://github.com/m1ngsama/chopsticks.git ~/.vim
|
git clone --branch release/2.3.0 https://github.com/m1ngsama/chopsticks.git ~/.vim
|
||||||
ln -sf ~/.vim/.vimrc ~/.vimrc
|
ln -sf ~/.vim/.vimrc ~/.vimrc
|
||||||
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
vim -Nu ~/.vimrc -n -es +'PlugInstall --sync' +'qa!'
|
||||||
```
|
```
|
||||||
|
|
@ -42,9 +42,9 @@ reloads chopsticks after saving it.
|
||||||
|
|
||||||
## Daily test loop
|
## Daily test loop
|
||||||
|
|
||||||
Use the beta for real editing, not only demos. A session should exercise the
|
Use the release candidate for real editing, not only demos. A session should
|
||||||
trained loop until it either feels automatic or exposes friction. For each
|
exercise the trained loop until it either feels automatic or exposes friction.
|
||||||
session, record:
|
For each session, record:
|
||||||
|
|
||||||
- The task: project navigation, code edit, grep, git, LSP, Markdown, SSH.
|
- The task: project navigation, code edit, grep, git, LSP, Markdown, SSH.
|
||||||
- The first key you tried when you got stuck.
|
- The first key you tried when you got stuck.
|
||||||
|
|
@ -52,7 +52,7 @@ session, record:
|
||||||
- Any mapping that felt slow, awkward, surprising, or too easy to mistype.
|
- Any mapping that felt slow, awkward, surprising, or too easy to mistype.
|
||||||
- Any documentation line that was wrong, missing, or redundant.
|
- Any documentation line that was wrong, missing, or redundant.
|
||||||
|
|
||||||
`:ChopsticksBetaLog` opens `${XDG_CONFIG_HOME:-~/.config}/chopsticks-beta.md`
|
`:ChopsticksBetaLog` opens `${XDG_CONFIG_HOME:-~/.config}/chopsticks-2.3.0.md`
|
||||||
by default. Set `g:chopsticks_beta_log` before loading chopsticks to use a
|
by default. Set `g:chopsticks_beta_log` before loading chopsticks to use a
|
||||||
different path. Use `:ChopsticksBetaSession` at the start of each real editing
|
different path. Use `:ChopsticksBetaSession` at the start of each real editing
|
||||||
session so every test has a timestamped block.
|
session so every test has a timestamped block.
|
||||||
|
|
@ -84,7 +84,7 @@ file, edit Markdown, and use a machine with missing optional tools.
|
||||||
- `scripts/test.sh quick` and `scripts/test.sh vim` pass locally.
|
- `scripts/test.sh quick` and `scripts/test.sh vim` pass locally.
|
||||||
- The README GIF has been regenerated from `.github/demo.tape` after any public
|
- The README GIF has been regenerated from `.github/demo.tape` after any public
|
||||||
key change.
|
key change.
|
||||||
- The beta has been tested on macOS and over SSH on Linux.
|
- The release candidate has been tested on macOS and over SSH on Linux.
|
||||||
|
|
||||||
## Roll back
|
## Roll back
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## 3.0.0-beta.1 — 2026-05-23
|
## 2.3.0 — 2026-05-24
|
||||||
|
|
||||||
### Breaking
|
### Breaking
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Canonical QWERTY/CapsLock-friendly Space leader layout:
|
- Canonical QWERTY/CapsLock-friendly Space leader layout:
|
||||||
`SPC SPC`, `SPC /`, `SPC ,`, `SPC w`, `SPC qx`, `SPC rr`,
|
`SPC SPC`, `SPC /`, `SPC ,`, `SPC w`, `SPC q`, `SPC rr`,
|
||||||
`SPC gs`, `SPC gl`, `SPC ca`, `SPC cr`, `SPC cf`, and `SPC ?`
|
`SPC gs`, `SPC gl`, `SPC ca`, `SPC cr`, `SPC cf`, and `SPC ?`
|
||||||
- Native LSP motions in the default layout: `gd`, `gr`, `gI`, `gy`, `K`,
|
- Native LSP motions in the default layout: `gd`, `gr`, `gI`, `gy`, `K`,
|
||||||
`[d`, and `]d`
|
`[d`, and `]d`
|
||||||
|
|
@ -28,9 +28,9 @@
|
||||||
- `:ChopsticksConfig` and `:ChopsticksReload` for editing local preferences
|
- `:ChopsticksConfig` and `:ChopsticksReload` for editing local preferences
|
||||||
without touching the managed `.vimrc`
|
without touching the managed `.vimrc`
|
||||||
- `:ChopsticksBeta`, `:ChopsticksBetaLog`, and `:ChopsticksBetaSession` for
|
- `:ChopsticksBeta`, `:ChopsticksBetaLog`, and `:ChopsticksBetaSession` for
|
||||||
guided beta testing and local session notes
|
guided release-candidate testing and local session notes
|
||||||
- Dedicated modules for buffers, utilities, files, runner, quickfix, status,
|
- Dedicated modules for buffers, utilities, files, runner, quickfix, status,
|
||||||
cheat sheet, tutor, beta testing, and help
|
cheat sheet, tutor, release-candidate testing, and help
|
||||||
- Split test runner: `scripts/test.sh` now dispatches to
|
- Split test runner: `scripts/test.sh` now dispatches to
|
||||||
`scripts/test-quick.sh` and `scripts/test-vim.sh`
|
`scripts/test-quick.sh` and `scripts/test-vim.sh`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ check git, and ask Vim which keys are active.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
These commands install the stable `main` branch. For beta testing this branch,
|
These commands install current `main`. For the 2.3.0 release-candidate
|
||||||
use [BETA.md](BETA.md).
|
checklist and rollback steps, use [BETA.md](BETA.md).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash
|
curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash
|
||||||
|
|
@ -60,7 +60,8 @@ SPC ? show the active keymap
|
||||||
```
|
```
|
||||||
Esc back to Normal
|
Esc back to Normal
|
||||||
SPC w save
|
SPC w save
|
||||||
SPC qx save + quit
|
SPC q quit current window
|
||||||
|
:x / ZZ save + quit
|
||||||
:q! force quit
|
:q! force quit
|
||||||
SPC ? cheat sheet (toggle sidebar)
|
SPC ? cheat sheet (toggle sidebar)
|
||||||
SPC fc edit local preferences
|
SPC fc edit local preferences
|
||||||
|
|
@ -167,5 +168,5 @@ 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.
|
||||||
|
|
||||||
Inside Vim, `:help chopsticks` opens the same reference after helptags are
|
Inside Vim, `:help chopsticks` opens the same reference after helptags are
|
||||||
available. See [README](README.md) for the full reference. For beta testing and
|
available. See [README](README.md) for the full reference. For release-candidate
|
||||||
rollback, see [BETA.md](BETA.md).
|
testing and rollback, see [BETA.md](BETA.md).
|
||||||
|
|
|
||||||
23
README.md
23
README.md
|
|
@ -20,15 +20,14 @@
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Stable install from `main`:
|
Install current `main`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
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
|
Current `main` is preparing the 2.3.0 release. Use [BETA.md](BETA.md) for the
|
||||||
[BETA.md](BETA.md) instead of the stable install command when testing the Space
|
release-candidate checklist, rollback steps, and Space keymap test loop.
|
||||||
keymap before promotion.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -79,8 +78,8 @@ chopsticks gives you a production-ready Vim config in one command. Pure VimScrip
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
These commands install the stable `main` branch. For beta testing this branch,
|
These commands install current `main`. For the 2.3.0 release-candidate
|
||||||
use [BETA.md](BETA.md).
|
checklist and rollback steps, use [BETA.md](BETA.md).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash
|
curl -fsSL https://raw.githubusercontent.com/m1ngsama/chopsticks/main/get.sh | bash
|
||||||
|
|
@ -156,9 +155,9 @@ for the active keymap, `:ChopsticksHelp` / `:help chopsticks` for full native
|
||||||
Vim help, `:ChopsticksConfig` for local preferences, and `:ChopsticksStatus`
|
Vim help, `:ChopsticksConfig` for local preferences, and `:ChopsticksStatus`
|
||||||
for tool/LSP health.
|
for tool/LSP health.
|
||||||
`QUICKSTART.md` is the 5-minute path; this README is the full reference.
|
`QUICKSTART.md` is the 5-minute path; this README is the full reference.
|
||||||
During the beta, `:ChopsticksBeta` opens the in-editor test checklist,
|
During release-candidate testing, `:ChopsticksBeta` opens the in-editor
|
||||||
`:ChopsticksBetaLog` opens editable local notes, and `:ChopsticksBetaSession`
|
checklist, `:ChopsticksBetaLog` opens editable local notes, and
|
||||||
appends a timestamped session block.
|
`:ChopsticksBetaSession` appends a timestamped session block.
|
||||||
|
|
||||||
```
|
```
|
||||||
SPC SPC fuzzy find file gd go to definition
|
SPC SPC fuzzy find file gd go to definition
|
||||||
|
|
@ -166,7 +165,7 @@ SPC / ripgrep project K hover docs
|
||||||
SPC e toggle file sidebar SPC rr run current file
|
SPC e toggle file sidebar SPC rr run current file
|
||||||
Ctrl-h/l enter/leave sidebar Ctrl-hjkl windows
|
Ctrl-h/l enter/leave sidebar Ctrl-hjkl windows
|
||||||
SPC gs git status SPC cf format
|
SPC gs git status SPC cf format
|
||||||
SPC w save SPC qq quit
|
SPC w save SPC q quit
|
||||||
Esc exit insert mode SPC ? cheat sheet
|
Esc exit insert mode SPC ? cheat sheet
|
||||||
:ChopsticksConfig local prefs :ChopsticksReload reload
|
:ChopsticksConfig local prefs :ChopsticksReload reload
|
||||||
```
|
```
|
||||||
|
|
@ -212,7 +211,7 @@ Esc exit insert mode SPC ? cheat sheet
|
||||||
|
|
||||||
### Survival
|
### Survival
|
||||||
|
|
||||||
`SPC w` save | `SPC W` save all | `SPC qq` quit | `SPC qx` save and quit | `SPC fc` local config | `SPC fV` reload | `SPC ?` cheat sheet | `:ChopsticksHelp` full help | `:ChopsticksTutor` practice | `:ChopsticksStatus` diagnostics
|
`SPC w` save | `SPC W` save all | `SPC q` quit | `:x` / `ZZ` save and quit | `SPC fc` local config | `SPC fV` reload | `SPC ?` cheat sheet | `:ChopsticksHelp` full help | `:ChopsticksTutor` practice | `:ChopsticksStatus` diagnostics
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
@ -317,7 +316,7 @@ For Markdown LSP, install or select `marksman` first.
|
||||||
├── status.vim :ChopsticksStatus diagnostics
|
├── status.vim :ChopsticksStatus diagnostics
|
||||||
├── cheatsheet.vim SPC ? and :ChopsticksCheatSheet
|
├── cheatsheet.vim SPC ? and :ChopsticksCheatSheet
|
||||||
├── tutor.vim :ChopsticksTutor guided practice
|
├── tutor.vim :ChopsticksTutor guided practice
|
||||||
├── beta.vim :ChopsticksBeta test guide
|
├── beta.vim :ChopsticksBeta release checklist
|
||||||
├── help.vim :ChopsticksHelp native Vim help
|
├── help.vim :ChopsticksHelp native Vim help
|
||||||
└── tools.vim compatibility placeholder
|
└── tools.vim compatibility placeholder
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ CONTENTS *chopsticks-contents
|
||||||
|
|
||||||
1. What chopsticks solves...............|chopsticks-why|
|
1. What chopsticks solves...............|chopsticks-why|
|
||||||
2. First five minutes...................|chopsticks-start|
|
2. First five minutes...................|chopsticks-start|
|
||||||
3. Canonical Space layout...............|chopsticks-v3-space|
|
3. Canonical Space layout...............|chopsticks-space|
|
||||||
4. Commands.............................|chopsticks-commands|
|
4. Commands.............................|chopsticks-commands|
|
||||||
5. Profiles and local config............|chopsticks-profiles|
|
5. Profiles and local config............|chopsticks-profiles|
|
||||||
6. Beta testing.........................|chopsticks-beta|
|
6. Release testing......................|chopsticks-release-test|
|
||||||
7. Troubleshooting......................|chopsticks-troubleshooting|
|
7. Troubleshooting......................|chopsticks-troubleshooting|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
@ -41,11 +41,11 @@ Daily loop:
|
||||||
s + 2ch jump on screen gd / gr definition / references
|
s + 2ch jump on screen gd / gr definition / references
|
||||||
K hover docs SPC rr run current file
|
K hover docs SPC rr run current file
|
||||||
SPC gs git status SPC cf format
|
SPC gs git status SPC cf format
|
||||||
SPC w save SPC qq quit
|
SPC w save SPC q quit
|
||||||
<
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
CANONICAL SPACE LAYOUT *chopsticks-v3-space*
|
CANONICAL SPACE LAYOUT *chopsticks-space*
|
||||||
|
|
||||||
Default layout: Space leader, comma localleader.
|
Default layout: Space leader, comma localleader.
|
||||||
|
|
||||||
|
|
@ -85,9 +85,9 @@ User-facing commands:
|
||||||
:ChopsticksTutor guided practice
|
:ChopsticksTutor guided practice
|
||||||
:ChopsticksCheatSheet active keymap reference
|
:ChopsticksCheatSheet active keymap reference
|
||||||
:ChopsticksStatus health diagnostics
|
:ChopsticksStatus health diagnostics
|
||||||
:ChopsticksBeta beta checklist
|
:ChopsticksBeta release checklist
|
||||||
:ChopsticksBetaLog editable beta notes
|
:ChopsticksBetaLog editable release notes
|
||||||
:ChopsticksBetaSession append a timestamped beta note block
|
:ChopsticksBetaSession append a timestamped release note block
|
||||||
<
|
<
|
||||||
|
|
||||||
LSP commands come from vim-lsp:
|
LSP commands come from vim-lsp:
|
||||||
|
|
@ -131,19 +131,19 @@ Optional habits:
|
||||||
<
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
BETA TESTING *chopsticks-beta*
|
RELEASE TESTING *chopsticks-release-test*
|
||||||
|
|
||||||
For the v3 beta candidate, record real editing friction instead of abstract
|
For the 2.3.0 release candidate, record real editing friction instead of
|
||||||
opinions:
|
abstract opinions:
|
||||||
>
|
>
|
||||||
:ChopsticksBeta compact beta checklist
|
:ChopsticksBeta compact release checklist
|
||||||
:ChopsticksBetaLog open editable local notes
|
:ChopsticksBetaLog open editable local notes
|
||||||
:ChopsticksBetaSession append a new session block
|
:ChopsticksBetaSession append a new session block
|
||||||
<
|
<
|
||||||
|
|
||||||
Default beta log:
|
Default release log:
|
||||||
>
|
>
|
||||||
${XDG_CONFIG_HOME:-~/.config}/chopsticks-beta.md
|
${XDG_CONFIG_HOME:-~/.config}/chopsticks-2.3.0.md
|
||||||
<
|
<
|
||||||
|
|
||||||
Exit criteria before a stable release:
|
Exit criteria before a stable release:
|
||||||
|
|
@ -174,7 +174,7 @@ Common fixes:
|
||||||
Need full docs :help chopsticks
|
Need full docs :help chopsticks
|
||||||
Need local config :ChopsticksConfig
|
Need local config :ChopsticksConfig
|
||||||
Changed local config :ChopsticksReload
|
Changed local config :ChopsticksReload
|
||||||
Need beta notes :ChopsticksBetaSession
|
Need release notes :ChopsticksBetaSession
|
||||||
Slow large file Syntax, undo, swap, and ALE are auto-reduced
|
Slow large file Syntax, undo, swap, and ALE are auto-reduced
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -1223,7 +1223,8 @@ echo ""
|
||||||
echo -e "${BOLD} First steps inside Vim${NC}"
|
echo -e "${BOLD} First steps inside Vim${NC}"
|
||||||
echo -e " ${CYAN}SPC ?${NC} Open cheat sheet — your map of every keybinding"
|
echo -e " ${CYAN}SPC ?${NC} Open cheat sheet — your map of every keybinding"
|
||||||
echo -e " ${CYAN}Esc${NC} Exit insert mode → back to Normal"
|
echo -e " ${CYAN}Esc${NC} Exit insert mode → back to Normal"
|
||||||
echo -e " ${CYAN}SPC qx${NC} Save and quit"
|
echo -e " ${CYAN}SPC q${NC} Quit current window"
|
||||||
|
echo -e " ${CYAN}:x${NC} / ${CYAN}ZZ${NC} Save and quit"
|
||||||
echo -e " ${CYAN}:q!${NC} + Enter Emergency quit without saving"
|
echo -e " ${CYAN}:q!${NC} + Enter Emergency quit without saving"
|
||||||
if [[ $CONFIG_PROFILE != "minimal" ]]; then
|
if [[ $CONFIG_PROFILE != "minimal" ]]; then
|
||||||
echo -e " ${CYAN}:LspInstallServer${NC} Install LSP for current filetype"
|
echo -e " ${CYAN}:LspInstallServer${NC} Install LSP for current filetype"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
" beta.vim — in-editor beta test guide
|
" beta.vim — in-editor release-candidate checklist
|
||||||
|
|
||||||
let g:chopsticks_beta_label = get(g:, 'chopsticks_beta_label', '3.0.0-beta.1')
|
let g:chopsticks_beta_label = get(g:, 'chopsticks_beta_label', '2.3.0')
|
||||||
|
|
||||||
function! s:OpenBetaGuide() abort
|
function! s:OpenBetaGuide() abort
|
||||||
let l:name = '__ChopsticksBeta__'
|
let l:name = '__ChopsticksBeta__'
|
||||||
|
|
@ -15,12 +15,12 @@ function! s:OpenBetaGuide() abort
|
||||||
setlocal nowrap nonumber norelativenumber signcolumn=no
|
setlocal nowrap nonumber norelativenumber signcolumn=no
|
||||||
|
|
||||||
let l:lines = [
|
let l:lines = [
|
||||||
\ ' chopsticks beta q close',
|
\ ' chopsticks 2.3.0 q close',
|
||||||
\ ' ─────────────────────────────',
|
\ ' ─────────────────────────────',
|
||||||
\ '',
|
\ '',
|
||||||
\ ' goal',
|
\ ' goal',
|
||||||
\ ' Prove this can be a long-term project loop.',
|
\ ' Prove this can be the long-term project loop.',
|
||||||
\ ' Record real editing friction, not abstract taste.',
|
\ ' Record real editing friction before release.',
|
||||||
\ '',
|
\ '',
|
||||||
\ ' daily loop',
|
\ ' daily loop',
|
||||||
\ ' SPC SPC find file',
|
\ ' SPC SPC find file',
|
||||||
|
|
@ -49,8 +49,8 @@ function! s:OpenBetaGuide() abort
|
||||||
\ ' quick/vim tests pass locally and over SSH',
|
\ ' quick/vim tests pass locally and over SSH',
|
||||||
\ '',
|
\ '',
|
||||||
\ ' files',
|
\ ' files',
|
||||||
\ ' BETA.md full beta checklist and rollback',
|
\ ' BETA.md release checklist and rollback',
|
||||||
\ ' :ChopsticksBetaLog editable local beta notes',
|
\ ' :ChopsticksBetaLog editable local release notes',
|
||||||
\ ' :ChopsticksBetaSession append a new session block',
|
\ ' :ChopsticksBetaSession append a new session block',
|
||||||
\ ' QUICKSTART.md five-minute path',
|
\ ' QUICKSTART.md five-minute path',
|
||||||
\ ' README.md complete reference',
|
\ ' README.md complete reference',
|
||||||
|
|
@ -71,7 +71,7 @@ function! s:BetaLogPath() abort
|
||||||
let l:xdg = !empty($XDG_CONFIG_HOME) && $XDG_CONFIG_HOME =~# '^/'
|
let l:xdg = !empty($XDG_CONFIG_HOME) && $XDG_CONFIG_HOME =~# '^/'
|
||||||
\ ? $XDG_CONFIG_HOME
|
\ ? $XDG_CONFIG_HOME
|
||||||
\ : '~/.config'
|
\ : '~/.config'
|
||||||
return expand(l:xdg . '/chopsticks-beta.md')
|
return expand(l:xdg . '/chopsticks-2.3.0.md')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:SessionBlock() abort
|
function! s:SessionBlock() abort
|
||||||
|
|
@ -96,9 +96,9 @@ function! s:EnsureBetaLog(path) abort
|
||||||
|
|
||||||
if !filereadable(l:path)
|
if !filereadable(l:path)
|
||||||
call writefile([
|
call writefile([
|
||||||
\ '# chopsticks beta log',
|
\ '# chopsticks 2.3.0 release log',
|
||||||
\ '',
|
\ '',
|
||||||
\ 'Use :ChopsticksBeta for the checklist. Keep one session block per real editing session.',
|
\ 'Use :ChopsticksBeta for the release checklist. Keep one session block per real editing session.',
|
||||||
\ ] + s:SessionBlock(), l:path)
|
\ ] + s:SessionBlock(), l:path)
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
|
||||||
|
|
@ -147,8 +147,8 @@ function! s:CheatSheet() abort
|
||||||
\ ' ── survival ──────────────',
|
\ ' ── survival ──────────────',
|
||||||
\ ' SPC w save',
|
\ ' SPC w save',
|
||||||
\ ' SPC W save all',
|
\ ' SPC W save all',
|
||||||
\ ' SPC qq quit',
|
\ ' SPC q quit',
|
||||||
\ ' SPC qx save + quit',
|
\ ' :x / ZZ save + quit',
|
||||||
\ ' Esc exit insert',
|
\ ' Esc exit insert',
|
||||||
\ ' SPC fc edit local config',
|
\ ' SPC fc edit local config',
|
||||||
\ ' SPC fv edit vimrc',
|
\ ' SPC fv edit vimrc',
|
||||||
|
|
@ -158,9 +158,9 @@ function! s:CheatSheet() abort
|
||||||
\ ' :ChopsticksReload reload config',
|
\ ' :ChopsticksReload reload config',
|
||||||
\ ' :ChopsticksTutor practice',
|
\ ' :ChopsticksTutor practice',
|
||||||
\ ' :ChopsticksStatus health',
|
\ ' :ChopsticksStatus health',
|
||||||
\ ' :ChopsticksBeta beta test guide',
|
\ ' :ChopsticksBeta release checklist',
|
||||||
\ ' :ChopsticksBetaLog beta notes',
|
\ ' :ChopsticksBetaLog release notes',
|
||||||
\ ' :ChopsticksBetaSession new beta note',
|
\ ' :ChopsticksBetaSession new release note',
|
||||||
\ ])
|
\ ])
|
||||||
|
|
||||||
call s:OpenCheatSheet(l:lines)
|
call s:OpenCheatSheet(l:lines)
|
||||||
|
|
@ -280,9 +280,9 @@ function! s:CheatSheet() abort
|
||||||
\ ' :ChopsticksReload reload config',
|
\ ' :ChopsticksReload reload config',
|
||||||
\ ' :ChopsticksTutor practice',
|
\ ' :ChopsticksTutor practice',
|
||||||
\ ' :ChopsticksStatus health',
|
\ ' :ChopsticksStatus health',
|
||||||
\ ' :ChopsticksBeta beta test guide',
|
\ ' :ChopsticksBeta release checklist',
|
||||||
\ ' :ChopsticksBetaLog beta notes',
|
\ ' :ChopsticksBetaLog release notes',
|
||||||
\ ' :ChopsticksBetaSession new beta note',
|
\ ' :ChopsticksBetaSession new release note',
|
||||||
\ ])
|
\ ])
|
||||||
|
|
||||||
call s:OpenCheatSheet(l:lines)
|
call s:OpenCheatSheet(l:lines)
|
||||||
|
|
|
||||||
|
|
@ -106,8 +106,7 @@ endif
|
||||||
if g:chopsticks_space_keymaps
|
if g:chopsticks_space_keymaps
|
||||||
nnoremap <leader>w :w<cr>
|
nnoremap <leader>w :w<cr>
|
||||||
nnoremap <leader>W :wa<cr>
|
nnoremap <leader>W :wa<cr>
|
||||||
nnoremap <leader>qq :q<cr>
|
nnoremap <leader>q :q<cr>
|
||||||
nnoremap <leader>qx :x<cr>
|
|
||||||
|
|
||||||
nnoremap <silent> <leader>uh :noh<cr>
|
nnoremap <silent> <leader>uh :noh<cr>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ function! s:BetaLogPath() abort
|
||||||
let l:xdg = !empty($XDG_CONFIG_HOME) && $XDG_CONFIG_HOME =~# '^/'
|
let l:xdg = !empty($XDG_CONFIG_HOME) && $XDG_CONFIG_HOME =~# '^/'
|
||||||
\ ? $XDG_CONFIG_HOME
|
\ ? $XDG_CONFIG_HOME
|
||||||
\ : '~/.config'
|
\ : '~/.config'
|
||||||
return expand(l:xdg . '/chopsticks-beta.md')
|
return expand(l:xdg . '/chopsticks-2.3.0.md')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:LocalConfigPath() abort
|
function! s:LocalConfigPath() abort
|
||||||
|
|
@ -99,7 +99,7 @@ function! s:ChopsticksStatus() abort
|
||||||
call add(l:lines, '')
|
call add(l:lines, '')
|
||||||
|
|
||||||
if !empty(get(g:, 'chopsticks_beta_label', ''))
|
if !empty(get(g:, 'chopsticks_beta_label', ''))
|
||||||
call add(l:lines, '── beta ──')
|
call add(l:lines, '── release candidate ──')
|
||||||
call add(l:lines, ' candidate ' . g:chopsticks_beta_label)
|
call add(l:lines, ' candidate ' . g:chopsticks_beta_label)
|
||||||
call add(l:lines, ' keymap ' . (get(g:, 'chopsticks_space_keymaps', 0) ? 'space' : 'classic'))
|
call add(l:lines, ' keymap ' . (get(g:, 'chopsticks_space_keymaps', 0) ? 'space' : 'classic'))
|
||||||
call add(l:lines, ' log ' . s:BetaLogPath())
|
call add(l:lines, ' log ' . s:BetaLogPath())
|
||||||
|
|
|
||||||
|
|
@ -38,15 +38,16 @@ function! s:ChopsticksTutor() abort
|
||||||
\ ' 2. survival',
|
\ ' 2. survival',
|
||||||
\ ' Esc Normal mode',
|
\ ' Esc Normal mode',
|
||||||
\ ' SPC w save',
|
\ ' SPC w save',
|
||||||
\ ' SPC qx save and quit',
|
\ ' SPC q quit',
|
||||||
|
\ ' :x / ZZ save and quit',
|
||||||
\ ' SPC fc edit local config',
|
\ ' SPC fc edit local config',
|
||||||
\ ' SPC fV reload config',
|
\ ' SPC fV reload config',
|
||||||
\ ' :ChopsticksHelp full help',
|
\ ' :ChopsticksHelp full help',
|
||||||
\ ' :ChopsticksConfig local config',
|
\ ' :ChopsticksConfig local config',
|
||||||
\ ' :ChopsticksReload reload config',
|
\ ' :ChopsticksReload reload config',
|
||||||
\ ' :ChopsticksStatus health check',
|
\ ' :ChopsticksStatus health check',
|
||||||
\ ' :ChopsticksBeta beta checklist',
|
\ ' :ChopsticksBeta release checklist',
|
||||||
\ ' :ChopsticksBetaLog beta notes',
|
\ ' :ChopsticksBetaLog release notes',
|
||||||
\ ' :ChopsticksBetaSession new note',
|
\ ' :ChopsticksBetaSession new note',
|
||||||
\ '',
|
\ '',
|
||||||
\ ' 3. find and switch',
|
\ ' 3. find and switch',
|
||||||
|
|
@ -118,8 +119,8 @@ function! s:ChopsticksTutor() abort
|
||||||
\ ' :ChopsticksConfig local config',
|
\ ' :ChopsticksConfig local config',
|
||||||
\ ' :ChopsticksReload reload config',
|
\ ' :ChopsticksReload reload config',
|
||||||
\ ' :ChopsticksStatus health check',
|
\ ' :ChopsticksStatus health check',
|
||||||
\ ' :ChopsticksBeta beta checklist',
|
\ ' :ChopsticksBeta release checklist',
|
||||||
\ ' :ChopsticksBetaLog beta notes',
|
\ ' :ChopsticksBetaLog release notes',
|
||||||
\ ' :ChopsticksBetaSession new note',
|
\ ' :ChopsticksBetaSession new note',
|
||||||
\ ' README.md full reference',
|
\ ' README.md full reference',
|
||||||
\ ' QUICKSTART.md 5-minute path',
|
\ ' QUICKSTART.md 5-minute path',
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ check_docs() {
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
grep -Fq '*chopsticks.txt*' doc/chopsticks.txt
|
grep -Fq '*chopsticks.txt*' doc/chopsticks.txt
|
||||||
grep -Fq '*chopsticks-v3-space*' doc/chopsticks.txt
|
grep -Fq '*chopsticks-space*' doc/chopsticks.txt
|
||||||
grep -Fq 'command! ChopsticksHelp' modules/help.vim
|
grep -Fq 'command! ChopsticksHelp' modules/help.vim
|
||||||
grep -Fq 'command! ChopsticksConfig' modules/utilities.vim
|
grep -Fq 'command! ChopsticksConfig' modules/utilities.vim
|
||||||
grep -Fq 'command! ChopsticksReload' modules/utilities.vim
|
grep -Fq 'command! ChopsticksReload' modules/utilities.vim
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ check_vim() {
|
||||||
vim -u "$TMP_ROOT/chopsticks path/.vimrc" -i NONE -es -N \
|
vim -u "$TMP_ROOT/chopsticks path/.vimrc" -i NONE -es -N \
|
||||||
-c 'ChopsticksHelp' \
|
-c 'ChopsticksHelp' \
|
||||||
-c 'if expand("%:t") !=# "chopsticks.txt" | cquit | endif' \
|
-c 'if expand("%:t") !=# "chopsticks.txt" | cquit | endif' \
|
||||||
-c 'if search("chopsticks-v3-space", "n") == 0 | cquit | endif' \
|
-c 'if search("chopsticks-space", "n") == 0 | cquit | endif' \
|
||||||
-c 'qa!' 2>&1
|
-c 'qa!' 2>&1
|
||||||
|
|
||||||
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u NONE -i NONE -es -N \
|
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u NONE -i NONE -es -N \
|
||||||
|
|
@ -101,11 +101,11 @@ check_vim() {
|
||||||
grep -Fq 'OK vim-lsp stack (installed)' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'OK vim-lsp stack (installed)' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'help :ChopsticksHelp :ChopsticksTutor SPC ?' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'help :ChopsticksHelp :ChopsticksTutor SPC ?' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'commands :ChopsticksConfig :ChopsticksReload' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'commands :ChopsticksConfig :ChopsticksReload' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'candidate 3.0.0-beta.1' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'candidate 2.3.0' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'keymap space' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'keymap space' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'commands :ChopsticksBeta :ChopsticksBetaLog' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'commands :ChopsticksBeta :ChopsticksBetaLog' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq ':ChopsticksBetaSession' "$TMP_ROOT/status-default.txt"
|
grep -Fq ':ChopsticksBetaSession' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'chopsticks-beta.md' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'chopsticks-2.3.0.md' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'python (:LspInstallServer in a python file)' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'python (:LspInstallServer in a python file)' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'LSP actions are buffer-local and start after a server attaches.' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'LSP actions are buffer-local and start after a server attaches.' "$TMP_ROOT/status-default.txt"
|
||||||
grep -Fq 'Open that filetype and run :LspInstallServer once.' "$TMP_ROOT/status-default.txt"
|
grep -Fq 'Open that filetype and run :LspInstallServer once.' "$TMP_ROOT/status-default.txt"
|
||||||
|
|
@ -268,9 +268,9 @@ check_vim() {
|
||||||
-c 'source .vimrc' \
|
-c 'source .vimrc' \
|
||||||
-c 'if mapleader !=# "\<Space>" || maplocalleader !=# "," | cquit | endif' \
|
-c 'if mapleader !=# "\<Space>" || maplocalleader !=# "," | cquit | endif' \
|
||||||
-c 'if maparg(",ff", "n") !=# "" || maparg(",w", "n") !=# "" || maparg(",mt", "n") !=# "" || maparg(",gp", "n") !=# "" || maparg("<Space>gp", "n") !=# "" | cquit | endif' \
|
-c 'if maparg(",ff", "n") !=# "" || maparg(",w", "n") !=# "" || maparg(",mt", "n") !=# "" || maparg(",gp", "n") !=# "" || maparg("<Space>gp", "n") !=# "" | cquit | endif' \
|
||||||
-c 'if maparg("<Space>f", "n") !=# "" || maparg("<Space>q", "n") !=# "" || maparg("<Space>u", "n") !=# "" || maparg("<Space>c", "n") !=# "" || maparg("<Space>x", "n") !=# "" || maparg("<Space>wm", "n") !=# "" || maparg("<Space>w+", "n") !=# "" || maparg("<Space>w-", "n") !=# "" | cquit | endif' \
|
-c 'if maparg("<Space>f", "n") !=# "" || maparg("<Space>u", "n") !=# "" || maparg("<Space>c", "n") !=# "" || maparg("<Space>x", "n") !=# "" || maparg("<Space>wm", "n") !=# "" || maparg("<Space>w+", "n") !=# "" || maparg("<Space>w-", "n") !=# "" | cquit | endif' \
|
||||||
-c 'if maparg("<Space><Space>", "n") !~# "SmartFiles" || maparg("<Space>ff", "n") !~# "SmartFiles" || maparg("<Space>,", "n") !~# "Buffers" || maparg("<Space>bd", "n") !~# "Bclose" | cquit | endif' \
|
-c 'if maparg("<Space><Space>", "n") !~# "SmartFiles" || maparg("<Space>ff", "n") !~# "SmartFiles" || maparg("<Space>,", "n") !~# "Buffers" || maparg("<Space>bd", "n") !~# "Bclose" | cquit | endif' \
|
||||||
-c 'if maparg("<Space>w", "n") !~# ":w" || maparg("<Space>W", "n") !~# ":wa" || maparg("<Space>qq", "n") !~# ":q" || maparg("<Space>qx", "n") !~# ":x" || maparg("<Space>fc", "n") !~# "ChopsticksConfig" || maparg("<Space>fV", "n") !~# "ChopsticksReload" || maparg("<Space>U", "n") !~# "UndotreeToggle" || maparg("<Space>fs", "n") !=# "" || maparg("<Space>bu", "n") !=# "" | cquit | endif' \
|
-c 'if maparg("<Space>w", "n") !~# ":w" || maparg("<Space>W", "n") !~# ":wa" || maparg("<Space>q", "n") !~# ":q" || maparg("<Space>qq", "n") !=# "" || maparg("<Space>qx", "n") !=# "" || maparg("<Space>fc", "n") !~# "ChopsticksConfig" || maparg("<Space>fV", "n") !~# "ChopsticksReload" || maparg("<Space>U", "n") !~# "UndotreeToggle" || maparg("<Space>fs", "n") !=# "" || maparg("<Space>bu", "n") !=# "" | cquit | endif' \
|
||||||
-c 'if maparg("<Space>gl", "n") !~# "Git log" || maparg("<Space>gC", "n") !~# "Commits" | cquit | endif' \
|
-c 'if maparg("<Space>gl", "n") !~# "Git log" || maparg("<Space>gC", "n") !~# "Commits" | cquit | endif' \
|
||||||
-c 'qa!' 2>&1
|
-c 'qa!' 2>&1
|
||||||
|
|
||||||
|
|
@ -310,9 +310,9 @@ check_vim() {
|
||||||
grep -Fq ':ChopsticksConfig local config' "$TMP_ROOT/cheat-default.txt"
|
grep -Fq ':ChopsticksConfig local config' "$TMP_ROOT/cheat-default.txt"
|
||||||
grep -Fq ':ChopsticksReload reload config' "$TMP_ROOT/cheat-default.txt"
|
grep -Fq ':ChopsticksReload reload config' "$TMP_ROOT/cheat-default.txt"
|
||||||
grep -Fq ':ChopsticksTutor practice' "$TMP_ROOT/cheat-default.txt"
|
grep -Fq ':ChopsticksTutor practice' "$TMP_ROOT/cheat-default.txt"
|
||||||
grep -Fq ':ChopsticksBeta beta test guide' "$TMP_ROOT/cheat-default.txt"
|
grep -Fq ':ChopsticksBeta release checklist' "$TMP_ROOT/cheat-default.txt"
|
||||||
grep -Fq ':ChopsticksBetaLog beta notes' "$TMP_ROOT/cheat-default.txt"
|
grep -Fq ':ChopsticksBetaLog release notes' "$TMP_ROOT/cheat-default.txt"
|
||||||
grep -Fq ':ChopsticksBetaSession new beta note' "$TMP_ROOT/cheat-default.txt"
|
grep -Fq ':ChopsticksBetaSession new release note' "$TMP_ROOT/cheat-default.txt"
|
||||||
if grep -Eq 'Ctrl\\+p find file|Ctrl\\+hjkl navigate splits|Ctrl\\+s save|jk exit insert|SPC fs save|SPC cd definition|SPC ck hover|SPC wm|SPC w\\+/-|\\[g \\]g LSP diagnostics' "$TMP_ROOT/cheat-default.txt"; then
|
if grep -Eq 'Ctrl\\+p find file|Ctrl\\+hjkl navigate splits|Ctrl\\+s save|jk exit insert|SPC fs save|SPC cd definition|SPC ck hover|SPC wm|SPC w\\+/-|\\[g \\]g LSP diagnostics' "$TMP_ROOT/cheat-default.txt"; then
|
||||||
cat "$TMP_ROOT/cheat-default.txt"
|
cat "$TMP_ROOT/cheat-default.txt"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -428,24 +428,24 @@ check_vim() {
|
||||||
-c 'silent %print' \
|
-c 'silent %print' \
|
||||||
-c 'redir END' \
|
-c 'redir END' \
|
||||||
-c 'qa!' 2>&1
|
-c 'qa!' 2>&1
|
||||||
grep -Fq 'chopsticks beta' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'chopsticks 2.3.0' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq 'Prove this can be a long-term project loop.' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'Prove this can be the long-term project loop.' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq 'Record real editing friction, not abstract taste.' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'Record real editing friction before release.' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq 'no private wiki is needed to remember the daily loop' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'no private wiki is needed to remember the daily loop' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq 'window/sidebar navigation beats native <C-w> only' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'window/sidebar navigation beats native <C-w> only' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq 'SPC ? active cheat sheet' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'SPC ? active cheat sheet' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq 'BETA.md full beta checklist and rollback' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq 'BETA.md release checklist and rollback' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq ':ChopsticksBetaLog editable local beta notes' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq ':ChopsticksBetaLog editable local release notes' "$TMP_ROOT/beta-guide.txt"
|
||||||
grep -Fq ':ChopsticksBetaSession append a new session block' "$TMP_ROOT/beta-guide.txt"
|
grep -Fq ':ChopsticksBetaSession append a new session block' "$TMP_ROOT/beta-guide.txt"
|
||||||
|
|
||||||
beta_log="$TMP_ROOT/beta log/chopsticks-beta.md"
|
beta_log="$TMP_ROOT/release log/chopsticks-2.3.0.md"
|
||||||
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u NONE -i NONE -es -N \
|
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u NONE -i NONE -es -N \
|
||||||
-c "let g:chopsticks_beta_log = '$beta_log'" \
|
-c "let g:chopsticks_beta_log = '$beta_log'" \
|
||||||
-c 'source .vimrc' \
|
-c 'source .vimrc' \
|
||||||
-c 'ChopsticksBetaLog' \
|
-c 'ChopsticksBetaLog' \
|
||||||
-c 'if expand("%:p") !~# "chopsticks-beta.md" || &l:filetype !=# "markdown" | cquit | endif' \
|
-c 'if expand("%:p") !~# "chopsticks-2.3.0.md" || &l:filetype !=# "markdown" | cquit | endif' \
|
||||||
-c 'qa!' 2>&1
|
-c 'qa!' 2>&1
|
||||||
grep -Fq '# chopsticks beta log' "$beta_log"
|
grep -Fq '# chopsticks 2.3.0 release log' "$beta_log"
|
||||||
grep -Fq 'First key tried when stuck:' "$beta_log"
|
grep -Fq 'First key tried when stuck:' "$beta_log"
|
||||||
printf '%s\n' '- keep-existing-note' >> "$beta_log"
|
printf '%s\n' '- keep-existing-note' >> "$beta_log"
|
||||||
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u NONE -i NONE -es -N \
|
XDG_CONFIG_HOME="$EMPTY_XDG" vim -u NONE -i NONE -es -N \
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue