feat: Add Helix keybindings and Nix development environment
Add support for Helix editor keybindings in the REPL, providing users with a modern, selection-first modal editing experience as an alternative to Vim, Emacs, and VSCode keybindings. Helix Keybindings Integration: - Add codemirror-helix@^0.5.0 dependency to @strudel/codemirror - Import and register helix keybindings in keybindings.mjs - Add 'Helix' option to keybindings selector in Settings UI - Create comprehensive user documentation at technical-manual/helix.mdx - Update developer documentation with keybinding integration pattern The Helix mode provides selection-first editing (select → action) which differs from Vim's action-motion paradigm, offering an alternative workflow for modal editing enthusiasts. Documentation: - Update CLAUDE.md with Helix support and keybinding addition process - Create helix.mdx with user-facing documentation and command reference - Update CHANGELOG.md with December 2025 entry Testing: Run `pnpm i` to install new dependencies, then `pnpm dev` to test. Verify Helix mode works in Settings → Keybindings → Helix.
This commit is contained in:
parent
d7bf5db8be
commit
ec73c48e2e
6 changed files with 114 additions and 3 deletions
|
|
@ -6,6 +6,7 @@ import { emacs } from '@replit/codemirror-emacs';
|
|||
import { vim, Vim } from '@replit/codemirror-vim';
|
||||
// import { vim } from './vim_test.mjs';
|
||||
import { vscodeKeymap } from '@replit/codemirror-vscode-keymap';
|
||||
import { helix } from 'codemirror-helix';
|
||||
import { logger } from '@strudel/core';
|
||||
|
||||
const vscodePlugin = ViewPlugin.fromClass(
|
||||
|
|
@ -127,6 +128,7 @@ try {
|
|||
const keymaps = {
|
||||
vim,
|
||||
emacs,
|
||||
helix,
|
||||
codemirror: () => keymap.of(defaultKeymap),
|
||||
vscode: vscodeExtension,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
"@replit/codemirror-emacs": "^6.1.0",
|
||||
"@replit/codemirror-vim": "^6.3.0",
|
||||
"@replit/codemirror-vscode-keymap": "^6.0.2",
|
||||
"codemirror-helix": "^0.5.0",
|
||||
"@strudel/core": "workspace:*",
|
||||
"@strudel/draw": "workspace:*",
|
||||
"@strudel/tonal": "workspace:*",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue