### Initialize Git Repository Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Initializes a new Git repository in the current directory. This is a prerequisite for using most Git features. ```bash git init ``` -------------------------------- ### Create Initial Git Commit Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Creates an initial commit in a Git repository by adding a file and committing it with a message. This sets up the repository for tracking changes. ```bash echo "Initial content" > test.txt git add test.txt git commit -m "Initial commit" ``` -------------------------------- ### JavaScript Hunk Practice - Initial Calculator Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md The initial implementation of a JavaScript Calculator class, used for practicing Git hunk management. ```javascript class Calculator { add(a, b) { return a + b; } subtract(a, b) { return a - b; } multiply(a, b) { return a * b; } divide(a, b) { return a / b; } } ``` -------------------------------- ### Basic README Content (Markdown) Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/03_file_management.md A placeholder README file for the mini-project, typically used to describe the project and its setup. ```markdown # My App This is a mini-project created as part of the Zed tutor exercises. ## Setup 1. Clone the repository. 2. Open the `index.html` file in your browser. ``` -------------------------------- ### Git Blame Practice - Initial Config Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md The initial version of a JavaScript configuration object, intended for use with Git blame to track line authorship. ```javascript const config = { name: "MyApp" }; ``` -------------------------------- ### Customize Zed Quick Actions Key Bindings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Provides examples of custom key bindings for Zed to trigger quick actions like spawning or rerunning tasks and toggling the project panel. ```json { "bindings": { "f5": "task:spawn", "shift-f5": "task:rerun", "cmd-b": "project_panel:toggle" } } ``` -------------------------------- ### Create Project Structure (Markdown) Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/03_file_management.md This snippet outlines the directory and file structure for a mini-project, including HTML, CSS, JavaScript, and a README file. It serves as a guide for the practice challenge. ```markdown exercises/my-app/ ├── index.html ├── styles/ │ └── main.css ├── scripts/ │ └── app.js └── README.md ``` -------------------------------- ### Zed: Editor Configuration - Advanced Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/22_settings.md Enables advanced editor features like indent guides, line number display (normal and relative), and gutter visibility. ```JSON { "indent_guides": true, "show_line_numbers": true, "relative_line_numbers": false, "gutter": true } ``` -------------------------------- ### Git Commands Cheatsheet - Diff Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Shows the differences between the working directory and the staging area, or between the staging area and the last commit. ```bash git diff git diff --staged ``` -------------------------------- ### Zed File Finder: Fuzzy Matching Examples Source: https://github.com/llamaha/zedtutor/blob/main/lessons/03_advanced_navigation/09_project_search.md Illustrates fuzzy matching patterns in Zed's file finder, showing how partial or capitalized inputs can find specific files. ```Zed les01 exclip FP ``` -------------------------------- ### Git Branching - Create and Switch Branch Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Creates a new Git branch named 'feature/new-feature' and immediately switches to it, allowing for isolated development. ```bash git checkout -b feature/new-feature ``` -------------------------------- ### Zed: Workspace Settings - Common Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/22_settings.md Defines common settings for a specific workspace, overriding user settings for tab size, format on save, preferred line length, and wrap guides. ```JSON { "tab_size": 2, "format_on_save": true, "preferred_line_length": 100, "show_wrap_guides": true } ``` -------------------------------- ### Zed Outline Panel Navigation Example Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/02_interface.md Demonstrates how to use the Outline Panel in Zed to navigate through the structure of a JavaScript file. This feature helps in quickly jumping to specific functions or classes. ```javascript // exercises/02_outline_example.js // Example function 1 function greet(name) { console.log(`Hello, ${name}!`); } // Example class class Calculator { constructor(initialValue = 0) { this.value = initialValue; } add(num) { this.value += num; return this.value; } subtract(num) { this.value -= num; return this.value; } } // Main execution greet('World'); const calc = new Calculator(10); console.log(calc.add(5)); ``` -------------------------------- ### Define a Zed Task Source: https://github.com/llamaha/zedtutor/blob/main/lessons/06_productivity/18_tasks_terminal.md Example of a JSON configuration for a Zed task, including its label, command, working directory, and environment variables. ```json { "label": "Build Project", "command": "npm run build", "cwd": "$ZED_WORKTREE_ROOT", "env": { "NODE_ENV": "production" } } ``` -------------------------------- ### Customize Zed Navigation Key Bindings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Provides examples of custom key bindings for Zed to enhance navigation within the editor, such as moving to the beginning or end of lines. ```json { "bindings": { "cmd-left": "editor:move_to_beginning_of_line", "cmd-right": "editor:move_to_end_of_line", "cmd-up": "editor:move_to_beginning", "cmd-down": "editor:move_to_end" } } ``` -------------------------------- ### JavaScript Gutter Indicators - Added Lines Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Demonstrates how Zed displays added lines in JavaScript files with a green gutter indicator. This helps visualize new code additions. ```javascript // Original file content function hello() { console.log("Hello, World!"); } function goodbye() { console.log("Goodbye!"); } // Add this new function function greet(name) { console.log(`Hello, ${name}!`); } ``` -------------------------------- ### JavaScript Hunk Practice - Add Error Handling to Divide Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Adds error handling for division by zero to the JavaScript Calculator's divide method, demonstrating a Git hunk. ```javascript divide(a, b) { if (b === 0) { throw new Error("Division by zero"); } return a / b; } ``` -------------------------------- ### Git Blame Practice - Updated Config and Function Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md An updated JavaScript configuration object with an added version property and a new function to retrieve the config, used for Git blame practice. ```javascript const config = { name: "MyApp", version: "1.0.0" // Second commit }; // Third commit - add this function function getConfig() { return config; } ``` -------------------------------- ### JavaScript Gutter Indicators - Modified Lines Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Illustrates how Zed highlights modified lines in JavaScript files with a blue gutter indicator. This is useful for tracking changes to existing code. ```javascript // Original file content function hello() { console.log("Hello, Zed!"); } function goodbye() { console.log("Goodbye!"); } ``` -------------------------------- ### Git Commands Cheatsheet - Committing Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Commits staged changes to the repository with a descriptive message. ```bash git commit -m "message" ``` -------------------------------- ### Execute 'New File' Command Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Shows how to find and execute the command to create a new file using the Command Palette. ```Zed workspace: new ``` -------------------------------- ### Git Commands Cheatsheet - History Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Displays the commit history of the repository in a concise, one-line format. ```bash git log --oneline ``` -------------------------------- ### Open Command Palette Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Demonstrates the keyboard shortcuts and menu navigation to open the Command Palette in Zed. ```Zed Cmd+Shift+P (macOS) or Ctrl+Shift+P (Linux/Windows) Go > Command Palette ``` -------------------------------- ### Git Branching - Switch to Main Branch Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Switches the current working branch back to the 'main' branch. ```bash git checkout main ``` -------------------------------- ### Open Markdown Preview Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Details the command to open a preview for the current markdown file. ```Zed markdown: open preview ``` -------------------------------- ### Git Commands Cheatsheet - Staging Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Stages changes in specified files or all changes in the current directory for the next commit. ```bash git add git add . ``` -------------------------------- ### Git Commands Cheatsheet - Status Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Displays the status of the current Git repository, showing tracked and untracked files. ```bash git status ``` -------------------------------- ### Zed Git Navigation Pro Tips Source: https://github.com/llamaha/zedtutor/blob/main/lessons/05_git/17_git_navigation.md Provides practical tips for efficient Git navigation in Zed, including keyboard shortcuts for hunk navigation, optimizing blame performance, configuring history depth, and best practices for switching branches. ```markdown Hunk Keys: Learn navigation shortcuts Blame Cache: Faster after first load History Depth: Configure for performance Branch Switch: Stash or commit first Navigation Stack: Use back/forward after jumps ``` -------------------------------- ### Save File As Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Demonstrates the command to save the current file with a specified name and location. ```Zed workspace: save as ``` -------------------------------- ### Open File Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Shows the command used to open an existing file from the file system. ```Zed workspace: open ``` -------------------------------- ### Git Commands Cheatsheet - Branches Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Lists all local branches, checks out an existing branch, or creates and checks out a new branch. ```bash git branch git checkout git checkout -b ``` -------------------------------- ### Git File Status - Rename File Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Renames a file in Git, changing its status from Modified (M) or Untracked (?) to Renamed (R). ```bash git mv old.js new.js ``` -------------------------------- ### Zed Project Search: Basic Usage Source: https://github.com/llamaha/zedtutor/blob/main/lessons/03_advanced_navigation/09_project_search.md Covers the basic usage of Zed's project search, including toggling focus, entering search terms, and viewing results grouped by file with context previews. ```Zed Command Palette → "project search: toggle focus" Enter search term Results grouped by file Preview in context ``` -------------------------------- ### Zed: Basic Settings Structure Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/22_settings.md Demonstrates the fundamental structure of Zed's settings.json file, including common editor preferences like theme, font size, tab size, and format on save. ```JSON { "theme": "One Dark", "font_size": 14, "tab_size": 2, "format_on_save": true } ``` -------------------------------- ### Find Commented Code Source: https://github.com/llamaha/zedtutor/blob/main/exercises/09_search_project/README.md Identifies all lines of code that are commented out, typically starting with '//'. This helps in finding potentially dead code. ```javascript // ``` -------------------------------- ### Zed Git Blame Configuration Source: https://github.com/llamaha/zedtutor/blob/main/lessons/05_git/15_git_basics.md Configure inline Git blame settings in Zed, such as delay time, display format, and selective showing/hiding of blame information for performance and customization. ``` Zed Configuration editor: { "git_blame_delay_ms": 500, "git_blame_format": "{author} ({relative_time})", "git_blame_show_hash": true, "git_blame_show_date": true } ``` -------------------------------- ### Git File Status - Stage New File Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Stages a newly created JavaScript file, changing its status from Untracked to Added (A) in Git. ```bash git add new_file.js ``` -------------------------------- ### Zed File Finder: Creating New Files Source: https://github.com/llamaha/zedtutor/blob/main/lessons/03_advanced_navigation/09_project_search.md Demonstrates the process of creating a new file directly from Zed's file finder by typing a non-existent filename and pressing Enter. ```Zed Type non-existent filename Press Enter to create ``` -------------------------------- ### Zed LSP: Go to Implementation Source: https://github.com/llamaha/zedtutor/blob/main/lessons/04_code_intelligence/11_language_server.md Find concrete implementations of interfaces or abstract methods using Zed's 'go to implementation' command. This is crucial for navigating inheritance hierarchies and understanding how abstract concepts are realized, utilizing LSP. ```Zed Commands editor: go to implementation ``` -------------------------------- ### JavaScript Hunk Practice - Modify Add Method Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Modifies the 'add' method in the JavaScript Calculator class by adding a comment, demonstrating a Git hunk. ```javascript add(a, b) { // Adding numbers return a + b; } ``` -------------------------------- ### Zed Git Gutter Configuration Source: https://github.com/llamaha/zedtutor/blob/main/lessons/05_git/15_git_basics.md Customize Zed's Git gutter indicators, including toggling them on/off, adjusting appearance, and setting per-project configurations for visual feedback on code changes. ```Zed Configuration editor: { "git_gutter_enabled": true, "git_gutter_theme": "oceanic" } ``` -------------------------------- ### Zed: Git Integration Settings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/22_settings.md Enables Git integration features within Zed, including gutter indicators for changes and inline blame information with customizable delay. ```JSON { "git": { "gutter": true, "inline_blame": { "enabled": true, "delay_ms": 500 } } } ``` -------------------------------- ### JavaScript Hunk Practice - Add Power Method Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Adds a new 'power' method to the JavaScript Calculator class, representing another Git hunk for practice. ```javascript power(a, b) { return Math.pow(a, b); } ``` -------------------------------- ### Python Terminal Debugging Source: https://github.com/llamaha/zedtutor/blob/main/lessons/06_productivity/19_debugging.md Start a Python debugging session using the built-in `pdb` module from the terminal. This enables step-by-step code execution and inspection. ```shell python -m pdb ``` -------------------------------- ### Zed File Finder: Basic Usage Source: https://github.com/llamaha/zedtutor/blob/main/lessons/03_advanced_navigation/09_project_search.md Demonstrates basic file finding using Zed's file finder. It highlights fuzzy matching by typing a filename and navigating results with arrow keys. ```Zed Command Palette → "file finder: toggle" Start typing filename Use arrows to navigate results ``` -------------------------------- ### JavaScript Find and Replace Example Source: https://github.com/llamaha/zedtutor/blob/main/lessons/02_editing/07_find_replace.md Demonstrates basic find and replace operations within a JavaScript file, focusing on replacing text and preserving case. ```JavaScript // Example usage in exercises/07_replace_practice.js // Find 'oldText' and replace with 'newText' // Zed's smart replace preserves case automatically. ``` -------------------------------- ### Create Multi-Key Sequence Zed Bindings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Illustrates how to create key bindings in Zed that involve sequences of key presses, such as 'cmd-k cmd-s' for saving all files. ```json { "bindings": { "cmd-k cmd-s": "workspace:save_all", "cmd-k cmd-w": "workspace:close_all_items" } } ``` -------------------------------- ### JavaScript Gutter Indicators - Deleted Lines Source: https://github.com/llamaha/zedtutor/blob/main/exercises/15_git_practice_guide.md Shows how Zed indicates deleted lines in JavaScript files with a red gutter indicator. This helps identify removed code sections. ```javascript // Original file content function hello() { console.log("Hello, World!"); } // The goodbye() function is deleted here. ``` -------------------------------- ### Zed: Language-Specific Settings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/22_settings.md Defines language-specific configurations for tab size and formatting, and configures Language Server Protocol (LSP) settings for Rust with Clippy. ```JSON { "languages": { "JavaScript": { "tab_size": 2, "format_on_save": true }, "Python": { "tab_size": 4, "hard_tabs": false } }, "lsp": { "rust-analyzer": { "check": { "command": "clippy" } } } } ``` -------------------------------- ### Create Zed Bindings with Action Parameters Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Shows how to bind keys in Zed to actions that require specific parameters, like activating a pane in a particular direction. ```json { "bindings": { "cmd-1": ["workspace:activate_pane", { "direction": "left" }], "cmd-2": ["workspace:activate_pane", { "direction": "right" }] } } ``` -------------------------------- ### Activate Editor Pane Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Provides commands for activating different editor panes using directional navigation. ```Zed workspace: activate pane left workspace: activate pane right workspace: activate pane up workspace: activate pane down ``` -------------------------------- ### Chained Commands in Zed Key Bindings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Demonstrates how to create a single key binding in Zed that triggers a sequence of commands, such as saving all files and then toggling the project search. ```json { "bindings": { "cmd-shift-f": [ "workspace:save_all", "project_search:toggle" ] } } ``` -------------------------------- ### Zed Branch Navigation and Comparison Source: https://github.com/llamaha/zedtutor/blob/main/lessons/05_git/17_git_navigation.md This section covers navigating and comparing branches within Zed. It includes understanding branch indicators, viewing differences between branches, and preparing for merges. ```markdown Current branch Ahead/behind Divergence Sync status See differences Changed files Commit lists Merge preview Change branches Stash changes Quick switches Clean transitions Preview conflicts See impacts Plan merges Test integration ``` -------------------------------- ### Zed Regex Capture Group Replacement Source: https://github.com/llamaha/zedtutor/blob/main/lessons/02_editing/07_find_replace.md Example of using capture groups in Zed's regex search and replace to reformat matched text, such as email addresses. ```Regex Search: (\w+)@(\w+\.\w+) Replace: $1 at $2 ``` -------------------------------- ### Test SSH Connection Source: https://github.com/llamaha/zedtutor/blob/main/lessons/08_advanced/26_remote_development.md Demonstrates how to test an SSH connection from the terminal. This involves using the 'ssh' command with the configured host alias and verifying access, latency, and the overall setup. ```bash ssh myserver ``` -------------------------------- ### Zed LSP: Go to Definition Source: https://github.com/llamaha/zedtutor/blob/main/lessons/04_code_intelligence/11_language_server.md Navigate directly to the definition of a symbol (variables, functions, types) across files using Zed's 'go to definition' command. This feature enhances code comprehension and refactoring by leveraging LSP. ```Zed Commands editor: go to definition ``` -------------------------------- ### Zed Project Search: Options Source: https://github.com/llamaha/zedtutor/blob/main/lessons/03_advanced_navigation/09_project_search.md Details the available options for Zed's project search, such as toggling case sensitivity, enabling whole word matching, and using regular expressions. ```Zed Case sensitive toggle Whole word matching Regular expressions ``` -------------------------------- ### View Zed Keymap Structure Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Demonstrates the JSON structure for Zed's key bindings, including default and custom bindings, and the context system for applying bindings to specific editor states. ```json [ { "bindings": { "cmd-s": "workspace:save", "cmd-shift-p": "command_palette:toggle" } } ] ``` -------------------------------- ### Zed: Selection by Word Commands Source: https://github.com/llamaha/zedtutor/blob/main/lessons/02_editing/04_navigation.md These commands extend basic word navigation by allowing selection of text from the cursor to the start or end of a word. This is useful for copying or manipulating specific words. ```Zed editor: select to previous word start editor: select to next word end ``` -------------------------------- ### Split Editor Pane Source: https://github.com/llamaha/zedtutor/blob/main/lessons/01_basics/01_welcome.md Illustrates the command to split the editor pane either to the right or down. ```Zed pane: split right pane: split down ``` -------------------------------- ### Zed Git Investigation Practice Challenge Source: https://github.com/llamaha/zedtutor/blob/main/lessons/05_git/17_git_navigation.md A practice challenge to apply Git navigation skills in Zed by finding a bug, identifying its introduction commit using blame, and reviewing related changes and history. ```markdown Find a bug in the code Use blame to find when introduced Navigate to that commit Review all changes in commit Track the fix through history Document your investigation process! ``` -------------------------------- ### JavaScript: Refactoring with Multi-Cursor Source: https://github.com/llamaha/zedtutor/blob/main/lessons/02_editing/06_multi_cursor.md Provides examples of using multi-cursor editing in JavaScript for tasks like renaming variables across multiple instances, adding prefixes/suffixes to identifiers, and transforming data formats. ```JavaScript // Example: Renaming a variable let oldName = 10; let anotherVar = oldName; // After multi-cursor rename to newName: let newName = 10; let anotherVar = newName; // Example: Adding prefixes // const item1; // const item2; // After multi-cursor edit: // const prefix_item1; // const prefix_item2; // Example: Transforming data format (e.g., CSV to JS array) // 1,apple // 2,banana // After multi-cursor edit: // ["1: apple", "2: banana"] ``` -------------------------------- ### Customize Zed Window Management Key Bindings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Presents custom key bindings for Zed to manage editor windows and splits, including splitting panes and closing items. ```json { "bindings": { "cmd-\": "workspace:split_right", "cmd-shift-\": "workspace:split_down", "cmd-w": "workspace:close_active_item" } } ``` -------------------------------- ### JavaScript Quick Fixes Source: https://github.com/llamaha/zedtutor/blob/main/lessons/04_code_intelligence/12_code_actions.md Demonstrates how to use code actions in JavaScript to fix common issues like missing imports, unused variables, typos, and missing parameters. It guides users through opening the code actions menu, selecting fixes, and applying them. ```javascript // exercises/12_quick_fixes.js // Place cursor on error/warning // Command Palette -> "editor: toggle code actions" // Choose appropriate action // Example: Add missing import // import { someFunction } from './utils'; // Example: Remove unused variable // let unusedVar = 10; // Example: Fix typo // function myFuntion() {} // Example: Add missing parameter // function greet(name) { // console.log(`Hello, ${name}`); // } // greet(); // Missing argument ``` -------------------------------- ### Go to Definition and Type Definition (TypeScript) Source: https://github.com/llamaha/zedtutor/blob/main/lessons/03_advanced_navigation/08_symbol_navigation.md This exercise guides users on how to use Zed's 'go to definition' and 'go to type definition' features. It explains how to jump to the exact location where a symbol is defined and how to navigate to the definition of a variable's type, interface, or class. ```typescript interface UserProfile { name: string; age: number; } function displayUser(user: UserProfile) { console.log(`Name: ${user.name}, Age: ${user.age}`); } const currentUser: UserProfile = { name: 'Alice', age: 30 }; displayUser(currentUser); ``` -------------------------------- ### Zed LSP: Hover Information Source: https://github.com/llamaha/zedtutor/blob/main/lessons/04_code_intelligence/11_language_server.md Utilize Zed's hover feature to get real-time information about symbols, including type signatures, documentation, parameter info, and error messages. This functionality relies on the Language Server Protocol (LSP) to provide semantic understanding. ```Zed Commands editor: hover ``` -------------------------------- ### Zed Git Navigation Commands Source: https://github.com/llamaha/zedtutor/blob/main/lessons/05_git/17_git_navigation.md This snippet outlines commands accessible via Zed's Command Palette for navigating Git hunks. It includes actions for moving between hunks, reviewing changes, and managing them. ```markdown Command Palette → "editor: go to hunk" Command Palette → "editor: go to previous hunk" ``` -------------------------------- ### Platform-Specific Zed Key Bindings Source: https://github.com/llamaha/zedtutor/blob/main/lessons/07_customization/24_keybindings.md Shows how to define key bindings in Zed that are specific to certain operating systems, like 'alt-f4' for closing a window on Windows/Linux. ```json { "bindings": { "alt-f4": "workspace:close_window" // Windows/Linux } } ```