|
|
| const vscode = require('vscode'); |
| const fs = require('fs'); |
| const path = require('path'); |
|
|
| let autoAcceptInterval = null; |
| let enabled = true; |
| let statusBarItem; |
|
|
| |
| |
| const ACCEPT_COMMANDS = [ |
| |
| 'antigravity.terminalCommand.accept', |
| 'antigravity.terminalCommand.run', |
|
|
| |
| 'antigravity.command.accept', |
|
|
| |
| 'antigravity.prioritized.agentAcceptFocusedHunk', |
| ]; |
|
|
| function activate(context) { |
| |
| vscode.commands.getCommands(true).then(cmds => { |
| try { |
| fs.writeFileSync( |
| path.join(process.env.USERPROFILE, '.gemini', 'antigravity', 'commands_dump.json'), |
| JSON.stringify(cmds, null, 2) |
| ); |
| } catch (e) { } |
| }); |
|
|
| |
| let disposable = vscode.commands.registerCommand('unlimited.toggle', function () { |
| enabled = !enabled; |
| updateStatusBar(); |
| if (enabled) { |
| vscode.window.showInformationMessage('Auto-Skip: ON'); |
| } else { |
| vscode.window.showInformationMessage('Auto-Skip: OFF'); |
| } |
| }); |
| context.subscriptions.push(disposable); |
|
|
| try { |
| |
| |
| statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 10000); |
| statusBarItem.command = 'unlimited.toggle'; |
| context.subscriptions.push(statusBarItem); |
|
|
| updateStatusBar(); |
| statusBarItem.show(); |
| } catch (e) { |
| |
| } |
|
|
| |
| startLoop(); |
| } |
|
|
| function updateStatusBar() { |
| if (!statusBarItem) return; |
|
|
| if (enabled) { |
| statusBarItem.text = "Auto-Skip: ON"; |
| statusBarItem.tooltip = "Unlimited Auto-Skip is Executing (Click to Pause)"; |
| statusBarItem.backgroundColor = undefined; |
| } else { |
| statusBarItem.text = "Auto-Skip: OFF"; |
| statusBarItem.tooltip = "Unlimited Auto-Skip is Paused (Click to Resume)"; |
| statusBarItem.backgroundColor = new vscode.ThemeColor('statusBarItem.warningBackground'); |
| } |
| } |
|
|
| function startLoop() { |
| autoAcceptInterval = setInterval(async () => { |
| if (!enabled) return; |
|
|
| |
| await Promise.allSettled( |
| ACCEPT_COMMANDS.map(cmd => vscode.commands.executeCommand(cmd)) |
| ); |
| }, 300); |
| } |
|
|
| function deactivate() { |
| if (autoAcceptInterval) { |
| clearInterval(autoAcceptInterval); |
| } |
| } |
|
|
| module.exports = { |
| activate, |
| deactivate |
| } |
|
|
|
|