{"id":19075815,"url":"https://github.com/xenoken/thunder","last_synced_at":"2026-05-17T02:02:47.833Z","repository":{"id":43605396,"uuid":"163537095","full_name":"xenoken/Thunder","owner":"xenoken","description":"VSCode Extension for an improved typing experience.","archived":false,"fork":false,"pushed_at":"2022-12-08T09:20:59.000Z","size":678,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-02T18:17:22.921Z","etag":null,"topics":["thunder","visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xenoken.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-29T19:52:08.000Z","updated_at":"2021-05-08T16:27:21.000Z","dependencies_parsed_at":"2023-01-25T19:02:14.083Z","dependency_job_id":null,"html_url":"https://github.com/xenoken/Thunder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xenoken%2FThunder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xenoken%2FThunder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xenoken%2FThunder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xenoken%2FThunder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xenoken","download_url":"https://codeload.github.com/xenoken/Thunder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240127088,"owners_count":19751938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["thunder","visual-studio-code","vscode","vscode-extension"],"created_at":"2024-11-09T01:56:05.084Z","updated_at":"2026-05-17T02:02:47.771Z","avatar_url":"https://github.com/xenoken.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thunder\n\n\nThunder is an extension for Visual Studio Code that improves your typing experience. With Thunder you will type faster and more naturally.\n\n\n![](https://raw.githubusercontent.com/xenoken/Thunder/master/res/example.gif)\n\n\n## Description\n\nThunder works by replacing a **tracked** character with a string called **replacer** as soon as the tracked character is typed *twice* in a row.\n\n\n# Getting Started\n\nThunder comes with a default Mapping List. For example to type the '\"' (double quotes character) it is possible to avoid the SHIFT + 2 key combination and instead pressing twice the '2' character.\nThunder has default mappings for the common punctuation characters used in computer programming.\n\n![](https://raw.githubusercontent.com/xenoken/Thunder/master/res/settings.png)\n\n## Notes\n\nTo also allow tracked characters to be typed twice in a row without being replaced (Escaping them), Thunder also requires tracked characters to be typed quickly. the maximum time distance must be smaller than the MaxInterval setting.\n\n\n## Features\n\n- Forget Key combinations! Just double tap the character you need.\n\n- Mappings are dynamic! Mappings can be changed at any time. No need to reactivate the extension.\n\n- Language Specific Mappings! Activate different mappings for different languages.\n\n\n## Extension Settings\n\nThis extension contributes the following settings:\n\n* `thunder.maxInterval` : the maximum temporal distance between two typings of a tracked character to still trigger a replacement.\n\n* `thunder.mappings` : The list of Thunder Mappings. Each Mapping element tells Thunder how to replace tracked characters.\n\n* `thunder.debugMode` : Enables the logging of debug information to the console.\n\n\n\n## Glossary\n\n### Mappings\n\nThunder does a very simple job: replacing characters with other strings as soon as they are typed twice in a row.\n\nTo know *which* strings should be replaced and with *which* strings, Thunder rely on the Mappings list.\n\nIn the Mappings list are contained Mapping elements.\n\n### Mapping\n\nA mapping element is logically used by Thunder but it is not represented by a concrete class. In fact a Mapping is simply represented by an array[2].\n\nThe first element in the array is a character. This character is the *tracked* character. Thunder will always on the lookout for this character. Whenever this character is typed twice, it will be replaced.\n\nThe second element in the array is a string as well. This string is called the *replacer* and will be inserted in the text in place of the tracked character.\n\n### Tracked character\n\nThunder continuously monitors the text added to the current textEditor and executes whenever one of these appear.\n\n### Replacer\n\nThunder replaces any tracked character with the corresponding replacer string.\n\n\n\n## Release Notes\n\nsee CHANGELOG.md\n\n\n## Supported Languages\n\n- plaintext\n- Log\n- log\n- bat\n- clojure\n- coffeescript\n- jsonc\n- c\n- cpp\n- csharp\n- css\n- dockerfile\n- ignore\n- fsharp\n- git-commit\n- git-rebase\n- diff\n- go\n- groovy\n- handlebars\n- hlsl\n- html\n- ini\n- properties\n- java\n- javascriptreact\n- javascript\n- jsx-tags\n- json\n- less\n- lua\n- makefile\n- markdown\n- objective-c\n- objective-cpp\n- perl\n- perl6\n- php\n- powershell\n- jade\n- python\n- r\n- razor\n- ruby\n- rust\n- scss\n- shaderlab\n- shellscript\n- sql\n- swift\n- typescript\n- typescriptreact\n- vb\n- xml\n- xsl\n- yaml\n- dart\n- pip-requirements\n- toml\n- jinja\n- jupyter\n- aspnetcorerazor","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxenoken%2Fthunder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxenoken%2Fthunder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxenoken%2Fthunder/lists"}