/*
██████ █████ ███ ██ ███ ██ ███████ ██████
██ ██ ██ ██ ████ ██ ████ ██ ██ ██ ██
██████ ███████ ██ ██ ██ ██ ██ ██ █████ ██████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ██ ████ ██ ████ ███████ ██ ██
██████ ██████ ███ ███ ███ ███ ███████ ███ ██ ████████ ███████
██ ██ ██ ████ ████ ████ ████ ██ ████ ██ ██ ██ ██
██ ██ ██ ██ ████ ██ ██ ████ ██ █████ ██ ██ ██ ██ ███████ ██████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██████ ██ ██ ██ ██ ███████ ██ ████ ██ ███████
*/
credits: lunar_limbo, original author: IMFUZZ
Organize your code with large ASCII font comments to quickly idenfity your position in the file.
Deeply customize
the output with prefix, suffix, perLinePrefix, and more. Use commands
or stored configs
to quickly add large banner comments using figlet. With geddski.macros you can setup keybinds
for your favorite configs
Play around with over 275+ mostly useless ascii fonts in this sandbox.
NEW! Is your favorite figlet missing? No problem! Add your own .flf fonts for use with this extension. Create your own or download from the many sources online
Features
- Will convert selection(s) or current line(s) into banner
- Use a default configuration or create multiple saved configs
- Setup keybinds for your favorite configs using geddski.macros (instructions below)
- Deep customization: from Figlet's options, to comment styles, and even prefixes/suffixes
- Add your own fonts to the available list
Examples
i3 configuration
vscode extension
Commands
ApplyFromConfig - Convert selection or line using stored config
Keybinds for configs - Apply configs with keybinds using geddski.macros
Supports multiple selections
see contributions for other commands
Extension Settings
Figlet Settings
The figlet settings can be best understood by playing with this tool
font
horizontalLayout
verticalLayout
Trim Settings
trimTrailingWhitespace
trimEmptyLines
- often, fonts have extra lines for descenders even when none in output
- get rid of them to clean up your result
- OR don't and keep each output unfirom
- NOTE: will remove ALL lines. Multi line banners will therefore ignore verticalLayout
Some languages don't have both styles of comments. Some langauges have different standards for how to use those comment styles. Take your pick.
block
: only use block style comment, but fallback to line comment if none
line
: only use line style comment, but fallback to block comment if none
both
: always put both block and line comments in output
Fix Settings
These are rather straight forward. But remember these caveats:
- perLinePrefix is applied to your prefix and suffix
- Use \n to add newlines
- perLinePrefix applied even without commentStyle line added
prefix
suffix
perLinePrefix
Macro configuration
- install geddski.macros
- write configs in settings file
- write macro for config in settings file
- create keybind
2. Write config
"banner-comments-plus.configs": {
"h1": {
"font": "Small",
"trimEmptyLines": true,
"commentStyle": "block",
"prefix": "",
"suffix": "--------------------------------------------------"
}
}
3. Write macro
The args
value MUST match the key
given to the config in your settings.
"macros": {
"banner-comments-plus-h1": [
{"command": "banner-comments-plus.ApplyFromConfig", "args": "h1"},
]
}
4. Create Keybind
{
"key": "ctrl+shift+delete",
"command": "macros.banner-comments-plus-h1",
"when": "editorTextFocus"
}
Requirements
None!
Known Issues
- ~~Only the languages provided by vscode are supported to wrap the banner with comments.~~
- ~~Does not work with Markdown because of naming convention of extension from Microsoft~~
- Adding a config through menus, you cannot set prefix, suffix, or perLineSuffix to double apostraphe ('') as this value is reserved to sumbit an empty string