-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.js
More file actions
378 lines (373 loc) · 63.2 KB
/
data.js
File metadata and controls
378 lines (373 loc) · 63.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
// ── SHORTCUT & GIT DATA ───────────────────────────────────────────────────
// Every item has: a=action, d=display, desc=description, when=when/where to use
// Shortcut items also have: k=keys array, seq=sequence array, text=true+v=textValue, block=true
const GIT_RAW = [
{a:"Initialize a new Git repo",d:"git init",v:"git init",desc:"Creates a new empty Git repository in the current folder.",when:"Run once when starting a new project that isn't tracked by Git yet."},
{a:"Clone a remote repository",d:"git clone <url>",v:"git clone",desc:"Downloads a full copy of a remote repository to your machine.",when:"Use when you want to work on an existing project hosted on GitHub/GitLab."},
{a:"Set global username",d:'git config --global user.name "Name"',v:"git config --global user.name",desc:"Sets the name that appears on all your commits.",when:"Run once after installing Git on a new machine."},
{a:"Set global email",d:'git config --global user.email "email"',v:"git config --global user.email",desc:"Sets the email address linked to your commits.",when:"Run once after installing Git. Should match your GitHub account email."},
{a:"View all config settings",d:"git config --list",v:"git config --list",desc:"Displays all Git configuration values currently set.",when:"Use to verify your username, email, or other settings are correct."},
{a:"Check repo status",d:"git status",v:"git status",desc:"Shows which files are staged, unstaged, or untracked.",when:"Use constantly — before committing, after making changes, to see what's going on."},
{a:"Stage a specific file",d:"git add <file>",v:"git add",desc:"Marks a specific file to be included in the next commit.",when:"Use when you only want to commit changes from one or a few specific files."},
{a:"Stage ALL changed files",d:"git add .",v:"git add .",desc:"Stages every new and modified file in the current directory.",when:"Use when you want to commit all your current changes at once."},
{a:"Stage interactively (hunk by hunk)",d:"git add -p",v:"git add -p",desc:"Lets you review and selectively stage parts of files.",when:"Use when a file has multiple changes but you only want to commit some of them."},
{a:"Commit with a message",d:'git commit -m "message"',v:"git commit -m",desc:"Saves staged changes to the repository history with a label.",when:"Use after staging files. Write a clear message describing what changed."},
{a:"Stage all tracked files and commit",d:'git commit -am "message"',v:"git commit -am",desc:"Combines git add (tracked files only) and git commit in one step.",when:"Use for quick commits when you don't need to add new untracked files."},
{a:"Amend the last commit",d:"git commit --amend",v:"git commit --amend",desc:"Modifies the most recent commit — message or files.",when:"Use immediately after a commit if you forgot a file or made a typo in the message."},
{a:"Unstage a file (keep changes)",d:"git restore --staged <file>",v:"git restore --staged",desc:"Removes a file from the staging area without losing edits.",when:"Use when you accidentally staged a file you don't want in the next commit."},
{a:"Discard changes in working dir",d:"git restore <file>",v:"git restore",desc:"Reverts a file back to the last committed state.",when:"Use to throw away unwanted edits. Warning: changes are permanently lost."},
{a:"List all local branches",d:"git branch",v:"git branch",desc:"Shows all branches that exist locally.",when:"Use to see what branches you have and which one you're currently on."},
{a:"List all branches (local + remote)",d:"git branch -a",v:"git branch -a",desc:"Shows local and remote-tracking branches.",when:"Use when you need to see branches that exist on the remote server."},
{a:"Create and switch to new branch",d:"git checkout -b <n>",v:"git checkout -b",desc:"Creates a new branch and immediately switches to it.",when:"Use whenever starting a new feature, fix, or experiment — keep main clean."},
{a:"Switch to a branch",d:"git checkout <branch>",v:"git checkout",desc:"Moves your working directory to a different branch.",when:"Use when switching between features or returning to the main branch."},
{a:"Delete a local branch",d:"git branch -d <n>",v:"git branch -d",desc:"Deletes a branch that has been fully merged.",when:"Use after a feature branch has been merged and is no longer needed."},
{a:"Force delete a branch",d:"git branch -D <n>",v:"git branch -D",desc:"Deletes a branch even if it hasn't been merged.",when:"Use when you want to discard an unmerged branch permanently."},
{a:"Rename current branch",d:"git branch -m <new-name>",v:"git branch -m",desc:"Renames the branch you're currently on.",when:"Use when you made a typo or want to rename before pushing."},
{a:"Show remote connections",d:"git remote -v",v:"git remote -v",desc:"Lists all remote repositories and their URLs.",when:"Use to verify your remote origin URL is correct."},
{a:"Add a remote",d:"git remote add origin <url>",v:"git remote add origin",desc:"Links your local repo to a remote repository.",when:"Use after git init when you want to push to GitHub for the first time."},
{a:"Push branch to remote",d:"git push origin <branch>",v:"git push origin",desc:"Uploads your local branch commits to the remote server.",when:"Use after committing to share your work with others or back it up."},
{a:"Push and set upstream",d:"git push -u origin <branch>",v:"git push -u origin",desc:"Pushes the branch and sets the remote as its default upstream.",when:"Use the first time you push a new branch so future pushes only need 'git push'."},
{a:"Force push (safe)",d:"git push --force-with-lease",v:"git push --force-with-lease",desc:"Force pushes but only if no one else has pushed in the meantime.",when:"Use after rebasing or amending. Safer than --force."},
{a:"Pull latest from remote",d:"git pull",v:"git pull",desc:"Fetches and merges the latest changes from the remote branch.",when:"Use at the start of your work session to get teammates' latest changes."},
{a:"Pull and rebase instead of merge",d:"git pull --rebase",v:"git pull --rebase",desc:"Pulls remote changes and replays your commits on top.",when:"Use to keep a cleaner linear history instead of creating merge commits."},
{a:"Fetch all remote changes",d:"git fetch",v:"git fetch",desc:"Downloads remote changes without merging them.",when:"Use to see what's changed remotely before deciding to merge."},
{a:"Delete a remote branch",d:"git push origin --delete <branch>",v:"git push origin --delete",desc:"Removes a branch from the remote repository.",when:"Use after a PR is merged to clean up remote branches."},
{a:"Merge a branch into current",d:"git merge <branch>",v:"git merge",desc:"Integrates changes from another branch into your current branch.",when:"Use to bring a completed feature branch into main."},
{a:"Merge and squash all commits",d:"git merge --squash <branch>",v:"git merge --squash",desc:"Combines all commits from a branch into one before merging.",when:"Use to keep a clean history when merging messy feature branches."},
{a:"Rebase current branch onto another",d:"git rebase <branch>",v:"git rebase",desc:"Moves your branch's commits on top of another branch.",when:"Use to update your feature branch with the latest main without merge commits."},
{a:"Interactive rebase (edit history)",d:"git rebase -i HEAD~n",v:"git rebase -i",desc:"Lets you reorder, edit, squash, or drop recent commits.",when:"Use before pushing to clean up messy commit history."},
{a:"Abort an in-progress rebase",d:"git rebase --abort",v:"git rebase --abort",desc:"Cancels a rebase and restores the original branch state.",when:"Use when a rebase goes wrong and you want to start over."},
{a:"Continue rebase after fixing conflicts",d:"git rebase --continue",v:"git rebase --continue",desc:"Resumes a paused rebase after you've resolved merge conflicts.",when:"Use each time you resolve a conflict during an interactive or regular rebase."},
{a:"Stash current changes",d:"git stash",v:"git stash",desc:"Temporarily saves uncommitted changes so you can switch tasks.",when:"Use when you need to switch branches but aren't ready to commit."},
{a:"Stash with a label",d:'git stash push -m "label"',v:"git stash push -m",desc:"Stashes changes with a descriptive name.",when:"Use when you have multiple stashes and need to identify them easily."},
{a:"List all stashes",d:"git stash list",v:"git stash list",desc:"Shows all saved stashes with their index and message.",when:"Use to find a stash before applying it."},
{a:"Apply latest stash (keep it)",d:"git stash apply",v:"git stash apply",desc:"Restores the stashed changes without removing the stash.",when:"Use when you want to re-apply the same stash to multiple branches."},
{a:"Apply and drop latest stash",d:"git stash pop",v:"git stash pop",desc:"Restores stashed changes and removes the stash from the list.",when:"Use when you're done with the stash and just want your changes back."},
{a:"Drop a specific stash",d:"git stash drop stash@{n}",v:"git stash drop",desc:"Deletes a specific stash entry.",when:"Use to clean up old stashes you no longer need."},
{a:"Create branch from stash",d:"git stash branch <n>",v:"git stash branch",desc:"Creates a new branch and applies the stash to it.",when:"Use when your stashed work has grown and deserves its own branch."},
{a:"Show commit history",d:"git log",v:"git log",desc:"Displays full commit history with hashes, dates, and messages.",when:"Use to review what has been committed and by whom."},
{a:"Show compact one-line log",d:"git log --oneline",v:"git log --oneline",desc:"Shows each commit as a single line with short hash and message.",when:"Use when you need a quick overview of recent commits."},
{a:"Show log as a graph",d:"git log --oneline --graph --all",v:"git log --oneline --graph",desc:"Visualizes branches and merges as an ASCII graph.",when:"Use to understand the branch/merge structure of your repository."},
{a:"Show changes in last commit",d:"git show",v:"git show",desc:"Displays the diff and metadata of the most recent commit.",when:"Use to quickly review what a specific commit changed."},
{a:"Show who changed each line",d:"git blame <file>",v:"git blame",desc:"Annotates each line of a file with the commit and author that last changed it.",when:"Use when debugging to find out when and why a line of code was added."},
{a:"Show unstaged changes",d:"git diff",v:"git diff",desc:"Shows the difference between your working directory and the last commit.",when:"Use before staging to review exactly what you've changed."},
{a:"Show staged changes",d:"git diff --staged",v:"git diff --staged",desc:"Shows the difference between staged files and the last commit.",when:"Use right before committing to review exactly what will be saved."},
{a:"Diff against last commit",d:"git diff HEAD",v:"git diff HEAD",desc:"Shows all changes (staged + unstaged) since the last commit.",when:"Use for a full picture of everything that's changed since your last commit."},
{a:"Undo last commit (keep staged)",d:"git reset --soft HEAD~1",v:"git reset --soft HEAD~1",desc:"Moves HEAD back one commit, keeping changes staged.",when:"Use when you committed too early and want to recommit differently."},
{a:"Undo last commit (keep unstaged)",d:"git reset HEAD~1",v:"git reset HEAD~1",desc:"Moves HEAD back one commit, keeping changes in working directory.",when:"Use to undo a commit but keep your edits to rework them."},
{a:"Undo last commit and discard changes",d:"git reset --hard HEAD~1",v:"git reset --hard HEAD~1",desc:"Completely removes the last commit and all its changes.",when:"Use with caution — permanently deletes the commit and changes."},
{a:"Revert a specific commit (safe undo)",d:"git revert <hash>",v:"git revert",desc:"Creates a new commit that undoes a previous commit's changes.",when:"Use on shared/public branches where rewriting history is not safe."},
{a:"Apply a specific commit to branch",d:"git cherry-pick <hash>",v:"git cherry-pick",desc:"Copies a single commit from another branch onto the current one.",when:"Use to port a bug fix from one branch to another without merging."},
{a:"Show reflog (full history)",d:"git reflog",v:"git reflog",desc:"Shows every action that moved HEAD, including resets and rebases.",when:"Use to recover lost commits after an accidental reset or rebase."},
{a:"Find the commit that introduced a bug",d:"git bisect start",v:"git bisect",desc:"Starts a binary search through commits to find which one broke something.",when:"Use when you know a bug exists now but didn't before — narrows it down fast."},
{a:"Remove untracked files and dirs",d:"git clean -fd",v:"git clean -fd",desc:"Deletes files and folders not tracked by Git.",when:"Use to clean up build artifacts or test files. Warning: irreversible."},
{a:"List all tags",d:"git tag",v:"git tag",desc:"Shows all tags in the repository.",when:"Use to see all version releases tagged in the project."},
{a:"Create a tag on current commit",d:"git tag v1.0",v:"git tag",desc:"Marks the current commit with a version label.",when:"Use when releasing a new version of your software."},
{a:"Push tags to remote",d:"git push --tags",v:"git push --tags",desc:"Uploads all local tags to the remote repository.",when:"Use after creating tags so they appear on GitHub releases."},
];
const GIT = GIT_RAW.map(x => ({ a: x.a, d: x.d, text: true, v: x.v, desc: x.desc, when: x.when }));
const GIT_SUBS = {
"All": null,
"Setup": ["git init", "git clone", "git config"],
"Stage & Commit": ["git status", "git add", "git commit", "git restore"],
"Branching": ["git branch", "git checkout"],
"Remote": ["git remote", "git push", "git pull", "git fetch"],
"Merge & Rebase": ["git merge", "git rebase"],
"Stash": ["git stash"],
"Log & Diff": ["git log", "git show", "git blame", "git diff"],
"Undo": ["git reset", "git revert", "git cherry-pick", "git reflog", "git bisect", "git clean"],
"Tags": ["git tag", "git push --tags"],
};
const CAT_META = {
"Daily Use": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M6 10h0M10 10h0M14 10h0M18 10h0M8 14h8"/></svg>` },
"Excel": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M3 15h18M9 3v18M15 3v18"/></svg>` },
"Word": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg>` },
"Vim": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg>` },
"CMD / Terminal": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="M6 12l4-4M6 12l4 4M14 16h4"/></svg>` },
"GitHub (Web)": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.3 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 17.07 3.633 16.7 3.633 16.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.605-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 21.795 24 17.295 24 12 24 5.37 18.63 0 12 0z"/></svg>` },
"Git (CMD)": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="6" y1="3" x2="6" y2="15"/><circle cx="18" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><path d="M18 9a9 9 0 01-9 9"/></svg>` },
"VS Code": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="18" rx="2"/><path d="M8 7l4 4-4 4M14 15h4"/></svg>` },
"Linux Desktop": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8M12 17v4"/></svg>` },
"Google Docs": { icon: `<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>` },
};
const CATS = {
"Daily Use": [
{a:"Copy",k:["Control","c"],d:"Ctrl + C",desc:"Copies selected text or files to the clipboard.",when:"Everywhere — browsers, editors, file managers, terminals."},
{a:"Paste",k:["Control","v"],d:"Ctrl + V",desc:"Inserts the clipboard contents at the cursor.",when:"Everywhere — after copying or cutting content."},
{a:"Cut",k:["Control","x"],d:"Ctrl + X",desc:"Removes selected content and places it on the clipboard.",when:"When you want to move text or files rather than copy them."},
{a:"Undo",k:["Control","z"],d:"Ctrl + Z",desc:"Reverses the last action performed.",when:"Any app that supports undo — editors, browsers, file managers."},
{a:"Redo",k:["Control","y"],d:"Ctrl + Y",desc:"Re-applies an action that was undone.",when:"Use after Ctrl+Z if you undid too much."},
{a:"Select All",k:["Control","a"],d:"Ctrl + A",desc:"Selects all content in the current context.",when:"In a text field, file explorer, or webpage to select everything."},
{a:"Save",k:["Control","s"],d:"Ctrl + S",desc:"Saves the current file or document.",when:"Constantly — in text editors, IDEs, Office apps, image editors."},
{a:"Find",k:["Control","f"],d:"Ctrl + F",desc:"Opens a search bar to find text on the page or in a document.",when:"In browsers, editors, PDFs — whenever you need to locate text."},
{a:"Refresh page",k:["Control","r"],d:"Ctrl + R",desc:"Reloads the current browser tab from the server.",when:"When a page is outdated or stuck loading."},
{a:"Hard refresh",k:["Control","Shift","r"],d:"Ctrl + Shift + R",desc:"Reloads the page and clears cached files.",when:"When CSS/JS changes aren't showing up after a deploy."},
{a:"Focus address bar",k:["Control","l"],d:"Ctrl + L",desc:"Jumps the cursor to the browser address bar.",when:"Faster than clicking the URL bar when you want to type a new URL."},
{a:"Bookmark this page",k:["Control","d"],d:"Ctrl + D",desc:"Saves the current page to your bookmarks.",when:"When you want to save a page for later reference."},
{a:"Zoom in",k:["Control","="],d:"Ctrl + +",desc:"Increases the zoom level of the current page.",when:"When text or UI elements are too small to read comfortably."},
{a:"Zoom out",k:["Control","-"],d:"Ctrl + -",desc:"Decreases the zoom level of the current page.",when:"When a page is too large and doesn't fit the screen."},
{a:"Reset zoom to 100%",k:["Control","0"],d:"Ctrl + 0",desc:"Restores the default zoom level.",when:"After zooming in/out and wanting to return to normal view."},
{a:"Switch to next tab",k:["Control","Tab"],d:"Ctrl + Tab",desc:"Moves focus to the next open browser tab.",when:"When you have multiple tabs open and want to cycle through them."},
{a:"Switch to previous tab",k:["Control","Shift","Tab"],d:"Ctrl + Shift + Tab",desc:"Moves focus to the previous browser tab.",when:"To go backwards through open tabs."},
{a:"Go back in browser",k:["Alt","ArrowLeft"],d:"Alt + \u2190",desc:"Navigates to the previous page in your browser history.",when:"Faster than clicking the back arrow button."},
{a:"Go forward in browser",k:["Alt","ArrowRight"],d:"Alt + \u2192",desc:"Navigates forward in your browser history.",when:"After going back, use this to go forward again."},
{a:"Open DevTools",k:["F12"],d:"F12",desc:"Opens the browser's developer tools panel.",when:"For web developers — inspect HTML, debug JS, check network requests."},
{a:"Open new tab",d:"Ctrl + T",block:true,desc:"Opens a blank new tab in the browser.",when:"When you want to browse a new URL without closing the current tab."},
{a:"Close tab",d:"Ctrl + W",block:true,desc:"Closes the currently active browser tab.",when:"When you're done with a tab and want to clean up."},
{a:"Reopen closed tab",d:"Ctrl + Shift + T",block:true,desc:"Re-opens the most recently closed tab.",when:"When you accidentally close a tab you still needed."},
{a:"Open new window",d:"Ctrl + N",block:true,desc:"Opens a new browser window.",when:"When you want to work in a separate window, e.g. for side-by-side."},
{a:"Print",d:"Ctrl + P",block:true,desc:"Opens the print dialog for the current page or document.",when:"When you need a hard copy or want to save as PDF."},
{a:"Switch between apps",d:"Alt + Tab",block:true,desc:"Cycles through open applications on Windows.",when:"Fast multitasking — switch between browser, editor, terminal, etc."},
{a:"Take a screenshot",d:"Win + Shift + S",block:true,desc:"Opens the Windows snipping tool for a screen capture.",when:"When you need to capture part of your screen to share or save."},
{a:"Lock screen",d:"Win + L",block:true,desc:"Immediately locks your Windows screen.",when:"Use whenever you step away from your computer."},
{a:"Open Task Manager",d:"Ctrl + Shift + Esc",block:true,desc:"Opens Windows Task Manager to view running processes.",when:"When an app freezes, or you want to monitor CPU/RAM usage."},
],
"Excel": [
{a:"Enter edit mode for a cell",k:["F2"],d:"F2",desc:"Activates edit mode for the selected cell so you can modify its contents.",when:"Use instead of double-clicking — faster when your hands are on the keyboard."},
{a:"Repeat last action",k:["F4"],d:"F4",desc:"Repeats the last command or action you performed.",when:"Use to quickly apply the same formatting, insert, or action multiple times."},
{a:"Create chart from selection",k:["F11"],d:"F11",desc:"Instantly creates a chart from the selected data on a new sheet.",when:"Use for a quick chart without going through the Insert menu."},
{a:"Calculate all formulas",k:["F9"],d:"F9",desc:"Forces recalculation of all formulas in the workbook.",when:"Use when Excel is set to manual calculation mode."},
{a:"Spell check",k:["F7"],d:"F7",desc:"Runs spell check on the current sheet.",when:"Before sharing a spreadsheet that contains text."},
{a:"Insert new line inside cell",k:["Alt","Enter"],d:"Alt + Enter",desc:"Adds a line break inside a cell without leaving it.",when:"Use when you want multi-line text inside a single cell."},
{a:"AutoSum selected cells",k:["Alt","="],d:"Alt + =",desc:"Inserts a SUM formula for the selected range.",when:"Use to quickly total a column or row of numbers."},
{a:"Select entire column",k:["Control"," "],d:"Ctrl + Space",desc:"Selects the entire column of the active cell.",when:"Before deleting, formatting, or inserting a whole column."},
{a:"Select entire row",k:["Shift"," "],d:"Shift + Space",desc:"Selects the entire row of the active cell.",when:"Before deleting, formatting, or inserting a whole row."},
{a:"Insert current date",k:["Control",";"],d:"Ctrl + ;",desc:"Inserts today's date as a static value.",when:"Use in logs or records where you need today's date."},
{a:"Insert current time",k:["Control","Shift",";"],d:"Ctrl + Shift + ;",desc:"Inserts the current time as a static value.",when:"Use in time-tracking sheets alongside the date shortcut."},
{a:"Toggle AutoFilter",k:["Control","Shift","l"],d:"Ctrl + Shift + L",desc:"Adds or removes filter dropdowns on the header row.",when:"Use to quickly filter and sort large data tables."},
{a:"Format cells dialog",k:["Control","1"],d:"Ctrl + 1",desc:"Opens the Format Cells dialog for detailed formatting options.",when:"When you need to set number format, borders, alignment, font, etc."},
{a:"Format as Currency",k:["Control","Shift","4"],d:"Ctrl + Shift + $",desc:"Applies currency format to the selected cells.",when:"Use on price or financial data columns."},
{a:"Format as Percentage",k:["Control","Shift","5"],d:"Ctrl + Shift + %",desc:"Formats the cell as a percentage (multiplies by 100).",when:"Use on decimal values like 0.25 to display as 25%."},
{a:"Format as Date",k:["Control","Shift","3"],d:"Ctrl + Shift + #",desc:"Applies a date format (DD-MMM-YY) to selected cells.",when:"Use when cells contain date serial numbers."},
{a:"Show all formulas in sheet",k:["Control","`"],d:"Ctrl + `",desc:"Toggles between showing formula results and formula text.",when:"Use to audit a sheet and verify all formulas are correct."},
{a:"Bold",k:["Control","b"],d:"Ctrl + B",desc:"Applies or removes bold formatting.",when:"Use to highlight headers, totals, or important values."},
{a:"Italic",k:["Control","i"],d:"Ctrl + I",desc:"Applies or removes italic formatting.",when:"Use for notes, labels, or emphasis."},
{a:"Go to first cell (A1)",k:["Control","Home"],d:"Ctrl + Home",desc:"Jumps instantly to cell A1.",when:"Use to quickly return to the top of the spreadsheet."},
{a:"Go to last used cell",k:["Control","End"],d:"Ctrl + End",desc:"Jumps to the last cell that contains data.",when:"Use to check the extent of your data range."},
{a:"Move to next sheet",k:["Control","PageDown"],d:"Ctrl + PgDn",desc:"Switches to the next sheet tab.",when:"When working across multiple sheets."},
{a:"Move to previous sheet",k:["Control","PageUp"],d:"Ctrl + PgUp",desc:"Switches to the previous sheet tab.",when:"When working across multiple sheets."},
{a:"Fill Down",k:["Control","d"],d:"Ctrl + D",desc:"Copies the value/formula of the top cell into the selected range below.",when:"Select a range starting with the source cell, then press to fill down."},
{a:"Fill Right",k:["Control","r"],d:"Ctrl + R",desc:"Copies the value/formula of the leftmost cell into selected cells to the right.",when:"Same as Fill Down but horizontally."},
{a:"Delete selected row/column",k:["Control","-"],d:"Ctrl + -",desc:"Deletes the selected row or column.",when:"After selecting a row/column with Shift+Space or Ctrl+Space."},
{a:"Insert row/column",k:["Control","Shift","="],d:"Ctrl + Shift + +",desc:"Inserts a new row or column above/before the selection.",when:"After selecting a row/column where you want to insert."},
{a:"Add/Edit cell comment",k:["Shift","F2"],d:"Shift + F2",desc:"Opens the comment/note editor for the active cell.",when:"Use to leave notes or explanations on specific cells."},
{a:"Enter array formula",k:["Control","Shift","Enter"],d:"Ctrl + Shift + Enter",desc:"Confirms an array formula that operates on a range of cells.",when:"Use when writing formulas like =SUM(IF(...)) that need to process arrays."},
{a:"Create a Table",d:"Ctrl + T",block:true,desc:"Converts the selected range into a formatted Excel Table.",when:"Use for structured data — enables auto-filtering, structured references, and auto-expansion."},
],
"Word": [
{a:"Bold",k:["Control","b"],d:"Ctrl + B",desc:"Applies or removes bold formatting to selected text.",when:"Use for headings, key terms, or emphasis in any document."},
{a:"Italic",k:["Control","i"],d:"Ctrl + I",desc:"Applies or removes italic formatting.",when:"Use for titles, foreign words, or soft emphasis."},
{a:"Underline",k:["Control","u"],d:"Ctrl + U",desc:"Applies or removes underlining.",when:"Use for links or specific emphasis (avoid overusing)."},
{a:"Double underline",k:["Control","Shift","d"],d:"Ctrl + Shift + D",desc:"Applies double-underline formatting to selected text.",when:"Use for special emphasis in formal or legal documents."},
{a:"All caps toggle",k:["Control","Shift","a"],d:"Ctrl + Shift + A",desc:"Toggles ALL CAPS formatting without retyping.",when:"Use for headings or acronyms without changing the actual text."},
{a:"Remove all formatting",k:["Control"," "],d:"Ctrl + Space",desc:"Clears all character formatting from selected text back to default.",when:"Use when pasted text has unwanted fonts, sizes, or styles."},
{a:"Font dialog",k:["Control","d"],d:"Ctrl + D",desc:"Opens the full Font dialog box for detailed text formatting.",when:"Use when you need precise control over font, size, effects, spacing."},
{a:"Copy formatting",k:["Control","Shift","c"],d:"Ctrl + Shift + C",desc:"Copies the formatting of selected text.",when:"Use with Ctrl+Shift+V to replicate styling across multiple sections."},
{a:"Paste formatting",k:["Control","Shift","v"],d:"Ctrl + Shift + V",desc:"Applies copied formatting to the selected text.",when:"Use after Ctrl+Shift+C to paste just the style, not the content."},
{a:"Heading 1 style",k:["Control","Alt","1"],d:"Ctrl + Alt + 1",desc:"Applies the Heading 1 paragraph style.",when:"Use for top-level section titles in a document."},
{a:"Heading 2 style",k:["Control","Alt","2"],d:"Ctrl + Alt + 2",desc:"Applies the Heading 2 paragraph style.",when:"Use for subsections within a Heading 1 section."},
{a:"Heading 3 style",k:["Control","Alt","3"],d:"Ctrl + Alt + 3",desc:"Applies the Heading 3 paragraph style.",when:"Use for sub-subsections deeper in the document hierarchy."},
{a:"Insert page break",k:["Control","Enter"],d:"Ctrl + Enter",desc:"Forces the text to continue on a new page.",when:"Use instead of pressing Enter many times to push content to a new page."},
{a:"Find & Replace",k:["Control","h"],d:"Ctrl + H",desc:"Opens the Find & Replace dialog.",when:"Use to bulk-replace a word, phrase, or formatting throughout a document."},
{a:"Insert hyperlink",k:["Control","k"],d:"Ctrl + K",desc:"Opens the Insert Hyperlink dialog.",when:"Use to link selected text to a URL or another location in the document."},
{a:"Spell check",k:["F7"],d:"F7",desc:"Runs the spelling and grammar checker.",when:"Use before sharing or submitting any document."},
{a:"Repeat last action",k:["F4"],d:"F4",desc:"Repeats the most recent formatting or editing action.",when:"Use to apply the same style change to multiple selections quickly."},
{a:"Increase font size",k:["Control","Shift","."],d:"Ctrl + Shift + .",desc:"Increases the font size by one step.",when:"Use to quickly resize text without opening the font size box."},
{a:"Decrease font size",k:["Control","Shift",","],d:"Ctrl + Shift + ,",desc:"Decreases the font size by one step.",when:"Use to shrink text incrementally."},
{a:"Center align",k:["Control","e"],d:"Ctrl + E",desc:"Centers the selected paragraph horizontally.",when:"Use for headings, titles, or image captions."},
{a:"Left align",k:["Control","l"],d:"Ctrl + L",desc:"Left-aligns the selected paragraph (default for body text).",when:"Use to reset alignment back to default for body text."},
{a:"Right align",k:["Control","r"],d:"Ctrl + R",desc:"Right-aligns the selected paragraph.",when:"Use for dates, signatures, or right-side labels."},
{a:"Justify text",k:["Control","j"],d:"Ctrl + J",desc:"Justifies text so both left and right edges are aligned.",when:"Use in formal or print documents for a clean, professional look."},
{a:"Increase indent",k:["Control","m"],d:"Ctrl + M",desc:"Indents the current paragraph to the right.",when:"Use to create nested lists or indent quoted text."},
{a:"Decrease indent",k:["Control","Shift","m"],d:"Ctrl + Shift + M",desc:"Reduces the indentation of the current paragraph.",when:"Use to move text back one indent level."},
{a:"Word count",k:["Control","Shift","g"],d:"Ctrl + Shift + G",desc:"Opens the Word Count dialog.",when:"Use when you have a word limit requirement."},
{a:"Go to page",k:["Control","g"],d:"Ctrl + G",desc:"Opens the Go To dialog to jump to a specific page, line, or bookmark.",when:"Use in long documents to navigate without scrolling."},
{a:"Toggle formatting marks",k:["Control","Shift","8"],d:"Ctrl + Shift + 8",desc:"Shows or hides hidden characters like spaces, tabs, and paragraph marks.",when:"Use when debugging layout issues caused by extra spaces or line breaks."},
{a:"Print",d:"Ctrl + P",block:true,desc:"Opens the print dialog.",when:"To print or export the document as PDF."},
{a:"New document",d:"Ctrl + N",block:true,desc:"Creates a new blank Word document.",when:"When starting fresh without using File > New."},
],
"Vim": [
{a:"Enter Insert mode (before cursor)",k:["i"],d:"i",desc:"Switches from Normal mode to Insert mode, placing the cursor before the current character.",when:"Use whenever you need to type or edit text in Vim."},
{a:"Enter Insert mode at line start",k:["Shift","i"],d:"Shift + I",desc:"Switches to Insert mode and moves the cursor to the first non-blank character of the line.",when:"Use when you need to add text at the very beginning of a line."},
{a:"Append after cursor",k:["a"],d:"a",desc:"Switches to Insert mode and places the cursor after the current character.",when:"Use when you want to add text right after the current position."},
{a:"Append at end of line",k:["Shift","a"],d:"Shift + A",desc:"Switches to Insert mode and jumps the cursor to the end of the line.",when:"Use to quickly add text to the end of a line."},
{a:"Open new line below and insert",k:["o"],d:"o",desc:"Creates a new blank line below the current one and enters Insert mode.",when:"Use to add a new line of code or text below the current line."},
{a:"Open new line above and insert",k:["Shift","o"],d:"Shift + O",desc:"Creates a new blank line above the current one and enters Insert mode.",when:"Use to add content above the current line."},
{a:"Exit Insert / Visual mode",k:["Escape"],d:"Esc",desc:"Returns to Normal mode from Insert or Visual mode.",when:"Use constantly — press Esc before navigating or running commands."},
{a:"Jump to line start",k:["0"],d:"0",desc:"Moves the cursor to the very first column of the line.",when:"Use to return to the start of the line regardless of indentation."},
{a:"Jump to first non-blank char",k:["Shift","6"],d:"^",desc:"Moves the cursor to the first non-whitespace character on the line.",when:"Use instead of 0 when you want to skip leading spaces/tabs."},
{a:"Jump to line end",k:["Shift","4"],d:"$",desc:"Moves the cursor to the last character on the current line.",when:"Use to quickly jump to the end of a line."},
{a:"Move forward one word",k:["w"],d:"w",desc:"Moves the cursor forward to the start of the next word.",when:"Faster than pressing the right arrow key repeatedly."},
{a:"Move backward one word",k:["b"],d:"b",desc:"Moves the cursor backward to the start of the previous word.",when:"Faster than pressing the left arrow key repeatedly."},
{a:"Go to beginning of file",seq:["g","g"],d:"g \u2192 g",desc:"Jumps the cursor to the very first line of the file.",when:"Use to get back to the top of the file quickly."},
{a:"Go to end of file",k:["Shift","g"],d:"Shift + G",desc:"Jumps the cursor to the last line of the file.",when:"Use to quickly navigate to the bottom of a file."},
{a:"Delete char under cursor",k:["x"],d:"x",desc:"Deletes the single character under the cursor.",when:"Use to fix a typo or remove one character without entering Insert mode."},
{a:"Delete current line",seq:["d","d"],d:"d \u2192 d",desc:"Deletes the entire current line and copies it to the buffer.",when:"Use to remove a full line. It's also cut — paste it with p."},
{a:"Delete word forward",seq:["d","w"],d:"d \u2192 w",desc:"Deletes from the cursor to the end of the current word.",when:"Use to delete a word without going into Insert mode."},
{a:"Change inner word",seq:["c","i","w"],d:"c \u2192 i \u2192 w",desc:"Deletes the word under the cursor and enters Insert mode.",when:"Use to replace an entire word — faster than selecting and retyping."},
{a:"Yank (copy) current line",seq:["y","y"],d:"y \u2192 y",desc:"Copies the current line to Vim's buffer without deleting it.",when:"Use to copy a line, then paste it elsewhere with p."},
{a:"Paste below cursor",k:["p"],d:"p",desc:"Pastes the yanked or deleted content below or after the cursor.",when:"Use after yy or dd to paste what was copied/cut."},
{a:"Replace char under cursor",k:["r"],d:"r",desc:"Replaces the single character under the cursor with the next key you type.",when:"Use to fix a single wrong character without entering Insert mode."},
{a:"Indent line right",seq:["Shift.","Shift."],d:"> \u2192 >",desc:"Increases the indentation of the current line.",when:"Use to fix indentation in code without entering Insert mode."},
{a:"Indent line left",seq:["Shift,","Shift,"],d:"< \u2192 <",desc:"Decreases the indentation of the current line.",when:"Use to un-indent a line in Normal mode."},
{a:"Undo",k:["u"],d:"u",desc:"Undoes the last change made.",when:"Use after any accidental edit to restore the previous state."},
{a:"Redo",k:["Control","r"],d:"Ctrl + R",desc:"Redoes the last undone change.",when:"Use after pressing u too many times."},
{a:"Visual mode (char select)",k:["v"],d:"v",desc:"Enters Visual mode to select characters.",when:"Use to select specific characters before yanking, deleting, or indenting."},
{a:"Visual line mode",k:["Shift","v"],d:"Shift + V",desc:"Enters Visual Line mode to select whole lines.",when:"Use to select one or more full lines for copying, deleting, or indenting."},
{a:"Search forward",k:["/"],d:"/",desc:"Opens a search prompt — type a pattern and press Enter.",when:"Use to find and jump to text anywhere in the file."},
{a:"Search word under cursor",k:["Shift","8"],d:"*",desc:"Instantly searches for the word currently under the cursor.",when:"Use when you want to find all occurrences of a variable or keyword."},
{a:"Next search result",k:["n"],d:"n",desc:"Jumps to the next match for the current search.",when:"After searching with / or *, keep pressing n to cycle through matches."},
{a:"Previous search result",k:["Shift","n"],d:"Shift + N",desc:"Jumps to the previous match.",when:"After going too far forward in search results."},
{a:"Save file",d:":w",text:true,v:":w",desc:"Writes the current buffer to disk without quitting.",when:"Use frequently while editing to save your work."},
{a:"Quit",d:":q",text:true,v:":q",desc:"Closes the current file (only works if there are no unsaved changes).",when:"Use when you're done viewing or editing a file."},
{a:"Save and quit",d:":wq",text:true,v:":wq",desc:"Saves the file and closes Vim.",when:"The most common way to exit — save then quit in one command."},
{a:"Quick save & quit",seq:["Z","Z"],d:"Z \u2192 Z",desc:"Shorthand for :wq — saves and quits without typing a colon command.",when:"Faster alternative to :wq in Normal mode."},
{a:"Force quit without saving",d:":q!",text:true,v:":q!",desc:"Exits Vim and discards all unsaved changes.",when:"Use when you want to abandon all edits and exit."},
{a:"Find and replace all",d:":%s/old/new/g",text:true,v:":%s/",desc:"Replaces every occurrence of 'old' with 'new' in the entire file.",when:"Use for bulk renaming variables, fixing typos across the whole file."},
],
"CMD / Terminal": [
{a:"Cancel running command",k:["Control","c"],d:"Ctrl + C",desc:"Sends an interrupt signal to stop the running process.",when:"Use when a command hangs, runs too long, or you want to abort it."},
{a:"Clear terminal screen",k:["Control","l"],d:"Ctrl + L",desc:"Clears the terminal display (same as typing 'clear').",when:"Use to declutter the terminal without losing your session."},
{a:"Search command history",k:["Control","r"],d:"Ctrl + R",desc:"Opens reverse history search — type to find a previous command.",when:"Use when you remember part of a long command you ran before."},
{a:"Move cursor to line start",k:["Control","a"],d:"Ctrl + A",desc:"Moves the cursor to the beginning of the current line.",when:"Use to quickly edit the start of a long command."},
{a:"Move cursor to line end",k:["Control","e"],d:"Ctrl + E",desc:"Moves the cursor to the end of the current line.",when:"Use to append to a command you moved to the start of."},
{a:"Delete word before cursor",k:["Control","w"],d:"Ctrl + W",desc:"Deletes the word immediately before the cursor.",when:"Use to fix a typo in the last word without retyping everything."},
{a:"Delete to end of line",k:["Control","k"],d:"Ctrl + K",desc:"Deletes everything from the cursor to the end of the line.",when:"Use to clear the rest of a command and retype it."},
{a:"Delete from cursor to line start",k:["Control","u"],d:"Ctrl + U",desc:"Deletes everything from the cursor back to the beginning of the line.",when:"Use to quickly clear the whole line you've typed."},
{a:"Paste deleted text",k:["Control","y"],d:"Ctrl + Y",desc:"Pastes text that was deleted using Ctrl+K, Ctrl+U, or Ctrl+W.",when:"Use to restore text you deleted with the kill commands above."},
{a:"Suspend process to background",k:["Control","z"],d:"Ctrl + Z",desc:"Pauses the foreground process and sends it to the background.",when:"Use to temporarily pause a process so you can run other commands."},
{a:"End of input / Exit shell",k:["Control","d"],d:"Ctrl + D",desc:"Sends an EOF (end-of-file) signal or exits the current shell.",when:"Use to exit a shell, Python REPL, or signal end of stdin input."},
{a:"Swap last two characters",k:["Control","t"],d:"Ctrl + T",desc:"Transposes the character before the cursor with the one under it.",when:"Use to fix a two-character typo quickly."},
{a:"Previous command in history",k:["ArrowUp"],d:"\u2191 Up",desc:"Navigates backwards through command history.",when:"Use to re-run or edit a recently typed command."},
{a:"Next command in history",k:["ArrowDown"],d:"\u2193 Down",desc:"Navigates forwards through command history.",when:"Use after pressing Up to go back to a more recent command."},
{a:"Autocomplete path/command",k:["Tab"],d:"Tab",desc:"Auto-completes file paths, command names, or variable names.",when:"Use constantly — saves typing and prevents spelling errors in paths."},
{a:"Move one word forward",k:["Alt","f"],d:"Alt + F",desc:"Moves the cursor one word to the right.",when:"Use to navigate long commands word by word."},
{a:"Move one word backward",k:["Alt","b"],d:"Alt + B",desc:"Moves the cursor one word to the left.",when:"Use to jump back to edit an earlier part of the command."},
{a:"Delete word after cursor",k:["Alt","d"],d:"Alt + D",desc:"Deletes the word in front of the cursor.",when:"Use to remove a word ahead without deleting what's before the cursor."},
{a:"Rerun last command",d:"!!",text:true,v:"!!",desc:"Expands to the last command and runs it again.",when:"Use with sudo !! when you forget to run a command as superuser."},
{a:"Go to previous directory",d:"cd -",text:true,v:"cd -",desc:"Switches to the directory you were in before the current one.",when:"Use to toggle back and forth between two directories."},
{a:"Go to home directory",d:"cd ~",text:true,v:"cd ~",desc:"Navigates to your home directory.",when:"Use to quickly return home from anywhere in the file system."},
{a:"Show command history list",d:"history",text:true,v:"history",desc:"Prints a numbered list of recently run commands.",when:"Use to find a command you ran earlier or audit your session."},
{a:"Run last command as sudo",d:"sudo !!",text:true,v:"sudo !!",desc:"Repeats the last command with superuser privileges.",when:"Use when you forgot to type sudo before a command that needs it."},
{a:"List files with details",d:"ls -la",text:true,v:"ls -la",desc:"Lists all files (including hidden) with permissions, sizes, and dates.",when:"Use for a full view of directory contents including hidden files."},
{a:"Show current directory path",d:"pwd",text:true,v:"pwd",desc:"Prints the full path of the current working directory.",when:"Use when you're lost and need to confirm where you are."},
{a:"Search inside files recursively",d:"grep -r 'text' .",text:true,v:"grep -r",desc:"Searches for a text pattern inside all files in the current directory.",when:"Use to find which file contains a specific string or code pattern."},
{a:"Show running processes",d:"ps aux",text:true,v:"ps aux",desc:"Lists all currently running processes with their PID and resource usage.",when:"Use to find a process ID before killing it or to monitor activity."},
{a:"Kill a process by ID",d:"kill -9 <pid>",text:true,v:"kill -9",desc:"Forcefully terminates a process by its process ID.",when:"Use when a process is frozen and won't respond to normal kill."},
{a:"Show disk usage of directory",d:"du -sh *",text:true,v:"du -sh",desc:"Shows the size of each file and folder in the current directory.",when:"Use to find out what's taking up disk space."},
{a:"Show free disk space",d:"df -h",text:true,v:"df -h",desc:"Displays available and used disk space on all mounted filesystems.",when:"Use to check if a disk is nearly full."},
{a:"Create an alias",d:"alias ll='ls -la'",text:true,v:"alias",desc:"Creates a shorthand command that expands to a longer one.",when:"Use to save time on commands you run repeatedly."},
],
"GitHub (Web)": [
{a:"Open file finder",k:["t"],d:"t",desc:"Opens a fuzzy file search across the entire repository.",when:"Use on any repo page to quickly find and open a file by name."},
{a:"Open github.dev editor",k:["."],d:".",desc:"Opens the current repo in the browser-based VS Code editor.",when:"Use to quickly read or lightly edit code without cloning locally."},
{a:"Focus search bar",k:["s"],d:"s",desc:"Moves keyboard focus to the GitHub search input.",when:"Use to search repos, issues, or code without reaching for the mouse."},
{a:"Quote reply in comment",k:["r"],d:"r",desc:"Copies the selected text into a new reply with blockquote formatting.",when:"Use when replying to a specific part of an issue or PR comment."},
{a:"Mark notification as done",k:["e"],d:"e",desc:"Archives the currently selected notification.",when:"Use in the Notifications inbox to quickly clear items."},
{a:"Submit a comment",k:["Control","Enter"],d:"Ctrl + Enter",desc:"Submits the comment or review you've typed.",when:"Use instead of clicking the Submit button in issues, PRs, or discussions."},
{a:"Preview comment toggle",k:["Control","Shift","p"],d:"Ctrl + Shift + P",desc:"Toggles between the Write and Preview tabs in a comment box.",when:"Use to preview your Markdown formatting before submitting."},
{a:"Open keyboard shortcuts help",k:["Shift","/"],d:"?",desc:"Opens a popup listing all available keyboard shortcuts for the current page.",when:"Use whenever you want to discover available shortcuts on any GitHub page."},
{a:"Go to Code tab",seq:["g","c"],d:"g \u2192 c",desc:"Navigates to the Code tab of the current repository.",when:"Use on any repo page to jump to the file browser."},
{a:"Go to Issues tab",seq:["g","i"],d:"g \u2192 i",desc:"Navigates to the Issues tab.",when:"Use to quickly jump to the issue tracker from anywhere on a repo."},
{a:"Go to Pull Requests tab",seq:["g","p"],d:"g \u2192 p",desc:"Navigates to the Pull Requests tab.",when:"Use to jump to PRs without clicking through the tab bar."},
{a:"Go to Actions tab",seq:["g","a"],d:"g \u2192 a",desc:"Navigates to the GitHub Actions (CI/CD) tab.",when:"Use to check build status or workflow runs."},
{a:"Go to Projects tab",seq:["g","b"],d:"g \u2192 b",desc:"Navigates to the Projects (board) tab.",when:"Use to check project boards linked to the repo."},
{a:"Go to Wiki tab",seq:["g","w"],d:"g \u2192 w",desc:"Navigates to the Wiki tab.",when:"Use to read or edit the repository's documentation wiki."},
{a:"Go to Notifications",seq:["g","n"],d:"g \u2192 n",desc:"Navigates to your GitHub Notifications inbox.",when:"Use to quickly check your notifications from anywhere on GitHub."},
],
"Git (CMD)": GIT,
"VS Code": [
{a:"Open Command Palette",k:["Control","Shift","p"],d:"Ctrl + Shift + P",desc:"Opens the command palette to search and run any VS Code command.",when:"Use constantly — the fastest way to access any feature."},
{a:"Quick Open file",k:["Control","p"],d:"Ctrl + P",desc:"Opens a fuzzy file finder to jump to any file by name.",when:"Use to open files without navigating the sidebar."},
{a:"Toggle terminal",k:["Control","`"],d:"Ctrl + `",desc:"Opens or closes the integrated terminal panel.",when:"Use to run commands without leaving the editor."},
{a:"Toggle sidebar",k:["Control","b"],d:"Ctrl + B",desc:"Shows or hides the left sidebar (Explorer, Search, etc.).",when:"Use to gain more editing space or browse files."},
{a:"Open settings",k:["Control",","],d:"Ctrl + ,",desc:"Opens the Settings UI.",when:"Use to configure editor behavior, theme, font size, etc."},
{a:"Split editor right",k:["Control","\\"],d:"Ctrl + \\",desc:"Splits the current editor into two side-by-side panes.",when:"Use to view two files at once for comparison or reference."},
{a:"Close current tab",k:["Control","w"],d:"Ctrl + W",desc:"Closes the active editor tab.",when:"Use to clean up open files when done editing."},
{a:"Reopen closed tab",k:["Control","Shift","t"],d:"Ctrl + Shift + T",desc:"Reopens the last editor tab you closed.",when:"Use when you accidentally close a file."},
{a:"Go to line number",k:["Control","g"],d:"Ctrl + G",desc:"Opens a prompt to jump to a specific line number.",when:"Use when debugging or navigating to a known line."},
{a:"Go to symbol in file",k:["Control","Shift","o"],d:"Ctrl + Shift + O",desc:"Lists all symbols (functions, classes) in the current file.",when:"Use to jump to a function definition quickly."},
{a:"Find in files",k:["Control","Shift","f"],d:"Ctrl + Shift + F",desc:"Opens the global search panel to search across all files.",when:"Use to find all occurrences of a term in the workspace."},
{a:"Replace in file",k:["Control","h"],d:"Ctrl + H",desc:"Opens find and replace in the current file.",when:"Use to rename variables or fix repeated text in one file."},
{a:"Toggle word wrap",k:["Alt","z"],d:"Alt + Z",desc:"Toggles line wrapping in the editor.",when:"Use when long lines extend beyond the visible area."},
{a:"Move line up",k:["Alt","ArrowUp"],d:"Alt + Up",desc:"Moves the current line (or selection) up by one line.",when:"Use to rearrange code without cut-paste."},
{a:"Move line down",k:["Alt","ArrowDown"],d:"Alt + Down",desc:"Moves the current line (or selection) down by one line.",when:"Use to rearrange code without cut-paste."},
{a:"Copy line down",k:["Shift","Alt","ArrowDown"],d:"Shift + Alt + Down",desc:"Duplicates the current line below.",when:"Use to quickly duplicate a line for modification."},
{a:"Copy line up",k:["Shift","Alt","ArrowUp"],d:"Shift + Alt + Up",desc:"Duplicates the current line above.",when:"Use to quickly duplicate a line above."},
{a:"Delete entire line",k:["Control","Shift","k"],d:"Ctrl + Shift + K",desc:"Deletes the entire current line.",when:"Use to remove a line without selecting it first."},
{a:"Add cursor below",k:["Control","Alt","ArrowDown"],d:"Ctrl + Alt + Down",desc:"Adds an additional cursor on the line below.",when:"Use for multi-line editing — type on multiple lines at once."},
{a:"Add cursor above",k:["Control","Alt","ArrowUp"],d:"Ctrl + Alt + Up",desc:"Adds an additional cursor on the line above.",when:"Use for multi-line editing."},
{a:"Select all occurrences",k:["Control","Shift","l"],d:"Ctrl + Shift + L",desc:"Selects all occurrences of the current selection.",when:"Use to rename a variable or text in the entire file at once."},
{a:"Add next occurrence to selection",k:["Control","d"],d:"Ctrl + D",desc:"Selects the next occurrence of the current word.",when:"Use to incrementally select and edit matching text."},
{a:"Toggle comment",k:["Control","/"],d:"Ctrl + /",desc:"Comments or uncomments the current line or selection.",when:"Use to quickly comment out code for debugging.",block:true},
{a:"Indent line",k:["Control","]"],d:"Ctrl + ]",desc:"Increases indentation of the current line or selection.",when:"Use to fix code indentation."},
{a:"Outdent line",k:["Control","["],d:"Ctrl + [",desc:"Decreases indentation of the current line or selection.",when:"Use to fix code indentation."},
{a:"Format document",k:["Shift","Alt","f"],d:"Shift + Alt + F",desc:"Auto-formats the entire document using the configured formatter.",when:"Use after writing code to clean up formatting."},
{a:"Peek definition",k:["Alt","F12"],d:"Alt + F12",desc:"Shows the definition of a symbol in an inline popup.",when:"Use to quickly check a function's implementation."},
{a:"Go to definition",k:["F12"],d:"F12",desc:"Jumps to the definition of the symbol under the cursor.",when:"Use to navigate to where a function or variable is defined."},
{a:"Rename symbol",k:["F2"],d:"F2",desc:"Renames the symbol under the cursor across all references.",when:"Use for safe refactoring — renames everywhere automatically."},
{a:"Toggle zen mode",k:["Control","k"],d:"Ctrl + K → Z",seq:["Control","k","z"],desc:"Enters distraction-free full-screen editing mode.",when:"Use when you want to focus on writing without UI clutter."},
{a:"Open Markdown preview",k:["Control","Shift","v"],d:"Ctrl + Shift + V",desc:"Opens a rendered preview of the current Markdown file.",when:"Use when editing README or documentation files."},
{a:"Trigger suggestion",k:["Control"," "],d:"Ctrl + Space",desc:"Manually triggers IntelliSense autocomplete suggestions.",when:"Use when autocomplete doesn't appear automatically."},
{a:"Quick fix / code action",k:["Control","."],d:"Ctrl + .",desc:"Shows available quick fixes and refactoring options.",when:"Use when you see a lightbulb icon or want auto-fix suggestions."},
{a:"Fold code region",k:["Control","Shift","["],d:"Ctrl + Shift + [",desc:"Collapses the code block at the cursor.",when:"Use to hide implementation details and see the big picture."},
{a:"Unfold code region",k:["Control","Shift","]"],d:"Ctrl + Shift + ]",desc:"Expands a collapsed code block.",when:"Use to reveal hidden code."},
],
"Linux Desktop": [
{a:"Open Activities overview",k:["Meta"],d:"Super",desc:"Opens the Activities overview showing all workspaces and windows.",when:"Use to see all open windows and switch between them."},
{a:"Open app launcher",k:["Meta","a"],d:"Super + A",desc:"Opens the application grid/launcher.",when:"Use to find and launch installed applications."},
{a:"Lock screen",k:["Meta","l"],d:"Super + L",desc:"Locks the screen immediately.",when:"Use when stepping away from your computer."},
{a:"Take screenshot",k:["Shift","Control","Print"],d:"Print Screen",desc:"Captures a screenshot of the entire screen.",when:"Use to capture what's on screen for sharing or documentation.",block:true},
{a:"Screenshot a region",k:["Shift","Print"],d:"Shift + Print",desc:"Lets you select and capture a screen region.",when:"Use to capture just a specific area of the screen.",block:true},
{a:"Switch to next workspace",k:["Control","Alt","ArrowDown"],d:"Ctrl + Alt + Down",desc:"Moves to the workspace below the current one.",when:"Use to switch between virtual desktops."},
{a:"Switch to previous workspace",k:["Control","Alt","ArrowUp"],d:"Ctrl + Alt + Up",desc:"Moves to the workspace above the current one.",when:"Use to navigate back to a previous workspace."},
{a:"Move window to next workspace",k:["Control","Alt","Shift","ArrowDown"],d:"Ctrl + Alt + Shift + Down",desc:"Moves the active window to the next workspace.",when:"Use to organize windows across different workspaces."},
{a:"Maximize window",k:["Meta","ArrowUp"],d:"Super + Up",desc:"Maximizes the current window.",when:"Use to make a window fill the entire screen."},
{a:"Restore / un-maximize window",k:["Meta","ArrowDown"],d:"Super + Down",desc:"Restores a maximized window to its previous size.",when:"Use to un-maximize a full-screen window."},
{a:"Snap window to left half",k:["Meta","ArrowLeft"],d:"Super + Left",desc:"Tiles the window to the left half of the screen.",when:"Use for side-by-side window layouts."},
{a:"Snap window to right half",k:["Meta","ArrowRight"],d:"Super + Right",desc:"Tiles the window to the right half of the screen.",when:"Use for side-by-side window layouts."},
{a:"Switch between windows",k:["Alt","Tab"],d:"Alt + Tab",desc:"Cycles through open application windows.",when:"Use to quickly switch focus to another window."},
{a:"Switch windows in reverse",k:["Alt","Shift","Tab"],d:"Alt + Shift + Tab",desc:"Cycles backward through open windows.",when:"Use when you overshoot with Alt+Tab."},
{a:"Close window",k:["Alt","F4"],d:"Alt + F4",desc:"Closes the currently focused window.",when:"Use to close an application window."},
{a:"Open file manager",k:["Meta","e"],d:"Super + E",desc:"Opens the default file manager.",when:"Use to browse files and folders."},
{a:"Open terminal",k:["Control","Alt","t"],d:"Ctrl + Alt + T",desc:"Opens a new terminal emulator window.",when:"Use to quickly get a command line."},
{a:"Switch to workspace 1",k:["Meta","Home"],d:"Super + Home",desc:"Jumps to the first workspace.",when:"Use to quickly return to your main workspace."},
{a:"Show notification list",k:["Meta","v"],d:"Super + V",desc:"Opens the notification/calendar panel.",when:"Use to review recent notifications."},
{a:"Run a quick command",k:["Alt","F2"],d:"Alt + F2",desc:"Opens a command dialog to run a program by name.",when:"Use to launch apps by typing their name without a full terminal."},
{a:"Toggle fullscreen",k:["F11"],d:"F11",desc:"Toggles fullscreen mode for the focused window.",when:"Use for distraction-free browsing or app usage.",block:true},
{a:"Minimize window",k:["Meta","h"],d:"Super + H",desc:"Minimizes the current window.",when:"Use to hide a window without closing it."},
{a:"Log out",k:["Control","Alt","Delete"],d:"Ctrl + Alt + Delete",desc:"Opens the power/logout dialog.",when:"Use to log out, restart, or shut down."},
],
"Google Docs": [
{a:"Bold",k:["Control","b"],d:"Ctrl + B",desc:"Toggles bold formatting on selected text.",when:"Use to emphasize important words or headings."},
{a:"Italic",k:["Control","i"],d:"Ctrl + I",desc:"Toggles italic formatting on selected text.",when:"Use for emphasis, titles, or technical terms."},
{a:"Underline",k:["Control","u"],d:"Ctrl + U",desc:"Toggles underline formatting on selected text.",when:"Use for headings or highlighting key terms."},
{a:"Strikethrough",k:["Alt","Shift","5"],d:"Alt + Shift + 5",desc:"Toggles strikethrough on selected text.",when:"Use to mark deleted or deprecated text."},
{a:"Copy formatting",k:["Control","Alt","c"],d:"Ctrl + Alt + C",desc:"Copies the formatting of the selected text.",when:"Use to pick up formatting to apply elsewhere."},
{a:"Paste formatting",k:["Control","Alt","v"],d:"Ctrl + Alt + V",desc:"Applies copied formatting to the selected text.",when:"Use after copying formatting to paint it onto other text."},
{a:"Clear formatting",k:["Control","\\"],d:"Ctrl + \\",desc:"Removes all formatting from the selected text.",when:"Use to reset text to default plain style."},
{a:"Increase font size",k:["Control","Shift","."],d:"Ctrl + Shift + .",desc:"Increases the font size of selected text.",when:"Use to make text larger without opening font menu."},
{a:"Decrease font size",k:["Control","Shift",","],d:"Ctrl + Shift + ,",desc:"Decreases the font size of selected text.",when:"Use to make text smaller without opening font menu."},
{a:"Align left",k:["Control","Shift","l"],d:"Ctrl + Shift + L",desc:"Left-aligns the selected paragraph.",when:"Use to reset alignment to the default left."},
{a:"Align center",k:["Control","Shift","e"],d:"Ctrl + Shift + E",desc:"Center-aligns the selected paragraph.",when:"Use for titles and headings."},
{a:"Align right",k:["Control","Shift","r"],d:"Ctrl + Shift + R",desc:"Right-aligns the selected paragraph.",when:"Use for dates, signatures, or right-flush text."},
{a:"Insert link",k:["Control","k"],d:"Ctrl + K",desc:"Opens the insert hyperlink dialog.",when:"Use to add a clickable link to text."},
{a:"Insert comment",k:["Control","Alt","m"],d:"Ctrl + Alt + M",desc:"Inserts a comment on the selected text.",when:"Use to leave feedback or notes for collaborators."},
{a:"Open Explore panel",k:["Control","Alt","Shift","i"],d:"Ctrl + Alt + Shift + I",desc:"Opens the Explore sidebar for research and suggestions.",when:"Use to search the web or find related content without leaving Docs."},
{a:"Insert footnote",k:["Control","Alt","f"],d:"Ctrl + Alt + F",desc:"Inserts a footnote at the cursor position.",when:"Use to add citations or supplementary notes."},
{a:"Heading 1",k:["Control","Alt","1"],d:"Ctrl + Alt + 1",desc:"Applies Heading 1 style to the current paragraph.",when:"Use for main document headings."},
{a:"Heading 2",k:["Control","Alt","2"],d:"Ctrl + Alt + 2",desc:"Applies Heading 2 style to the current paragraph.",when:"Use for section subheadings."},
{a:"Heading 3",k:["Control","Alt","3"],d:"Ctrl + Alt + 3",desc:"Applies Heading 3 style to the current paragraph.",when:"Use for subsection headings."},
{a:"Normal text",k:["Control","Alt","0"],d:"Ctrl + Alt + 0",desc:"Resets paragraph to normal text style.",when:"Use to remove heading formatting."},
{a:"Numbered list",k:["Control","Shift","7"],d:"Ctrl + Shift + 7",desc:"Toggles a numbered list on the selected text.",when:"Use for sequential steps or ordered items."},
{a:"Bulleted list",k:["Control","Shift","8"],d:"Ctrl + Shift + 8",desc:"Toggles a bulleted list on the selected text.",when:"Use for unordered lists of items."},
{a:"Increase indent",k:["Tab"],d:"Tab",desc:"Increases the indentation level of the paragraph or list item.",when:"Use to nest list items or indent paragraphs."},
{a:"Decrease indent",k:["Shift","Tab"],d:"Shift + Tab",desc:"Decreases the indentation level.",when:"Use to un-nest a list item or reduce indentation."},
{a:"Find and replace",k:["Control","h"],d:"Ctrl + H",desc:"Opens find and replace dialog.",when:"Use to find text and replace it throughout the document."},
{a:"Word count",k:["Control","Shift","c"],d:"Ctrl + Shift + C",desc:"Shows the document word count dialog.",when:"Use to check document length for assignments or limits."},
{a:"Insert page break",k:["Control","Enter"],d:"Ctrl + Enter",desc:"Inserts a page break at the cursor.",when:"Use to start a new page in the document."},
{a:"Go to next heading",k:["Control","Alt","n"],d:"Ctrl + Alt + N → H",seq:["Control","n","h"],desc:"Jumps to the next heading in the document.",when:"Use to navigate long documents by headings."},
{a:"Open revision history",k:["Control","Alt","Shift","h"],d:"Ctrl + Alt + Shift + H",desc:"Opens the version history panel.",when:"Use to see past edits and restore previous versions."},
{a:"Insert bookmark",k:["Control","Alt","Shift","b"],d:"Ctrl + Alt + Shift + B",desc:"Inserts a bookmark at the cursor position.",when:"Use to create internal document links and navigation points."},
],
};