Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.1 kB · 38 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839import { 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.' }`, }}