DeindentTemplateLiteralString

Exports a simple function that can be passed a template literal. It strips code indentation from it while preserving intended indentation, by stripping out the smallest indent every line has in common.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/511046/1460584/DeindentTemplateLiteralString.js

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
1N07
Version
1.2
Created
2024-10-01
Updated
2024-10-07
Size
1.03 KB
License
Unlicense

A simple library that exports a simple function that can be passed a template literal. It strips code indentation from it while preserving intended indentation, by stripping out the smallest indent every line has in common.

Usage Example:

function SomeFunctionThatCausesInnerCodeTobeIndented() {
  const multilineTemplateLiteralString = Deindent(`
    Some text that has been indented for code readabilty,
    but the indentatation shouldn't be passed on to the actual string.
      Except this indentation (in relation to the previous lines) should be preserved in the string,
      and it will be, because it's more indented than the baseline indentation of the string.     
  `);
  console.log(multilineTemplateLiteralString);
}

This function would print:

Some text that has been indented for code readabilty,
but the indentatation shouldn't be passed on to the actual string.
  Except this indentation (in relation to the previous lines) should be preserved in the string,
  and it will be, because it's more indented than the baseline indentation of the string.