Squash the current repository state back into one baseline commit while
preserving the README reframing and repository contents.

Constraint: User explicitly requested a single squashed commit with subject "asdf"
Confidence: high
Scope-risk: broad
Reversibility: clean
Directive: This commit intentionally rewrites published history; coordinate before future force-pushes
Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr
Not-tested: Fresh clone verification after push
This commit is contained in:
did:key:z6MkqDnb7Siv3Cwj7pGJq4T5EsUisECqR8KpnDLwcaZq5TPr
2026-03-31 03:34:03 -07:00
commit d2542c9a62
1903 changed files with 513517 additions and 0 deletions

11
src/commands/vim/index.ts Normal file
View File

@@ -0,0 +1,11 @@
import type { Command } from '../../commands.js'
const command = {
name: 'vim',
description: 'Toggle between Vim and Normal editing modes',
supportsNonInteractive: false,
type: 'local',
load: () => import('./vim.js'),
} satisfies Command
export default command

38
src/commands/vim/vim.ts Normal file
View File

@@ -0,0 +1,38 @@
import {
type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
logEvent,
} from '../../services/analytics/index.js'
import type { LocalCommandCall } from '../../types/command.js'
import { getGlobalConfig, saveGlobalConfig } from '../../utils/config.js'
export const call: LocalCommandCall = async () => {
const config = getGlobalConfig()
let currentMode = config.editorMode || 'normal'
// Handle backward compatibility - treat 'emacs' as 'normal'
if (currentMode === 'emacs') {
currentMode = 'normal'
}
const newMode = currentMode === 'normal' ? 'vim' : 'normal'
saveGlobalConfig(current => ({
...current,
editorMode: newMode,
}))
logEvent('tengu_editor_mode_changed', {
mode: newMode as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
source:
'command' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
})
return {
type: 'text',
value: `Editor mode set to ${newMode}. ${
newMode === 'vim'
? 'Use Escape key to toggle between INSERT and NORMAL modes.'
: 'Using standard (readline) keyboard bindings.'
}`,
}
}