@igor.dvlpr/comment-it v3.1.0
/* CommentIt! */
π Formats the provided string as a comment, either a single or a multi line comment for the given programming language. π»
π΅πΌ Usage
Install it by executing:
npm i "@igor.dvlpr/comment-it"π€ΉπΌ API
getLanguageIds()
getLanguageIds(): string[]Gets IDs of all available language formatters. Language formatters are callable as comment.<languageId>. See more below at comment.
language()
language(id: string): CommentFormatter | nullPerforms a case-insensitive search for a language formatter with the provided id and returns it - if one is found - else returns null.
supportsLanguage()
supportsLanguage(id: string): booleanReturns whether the given language formatter is supported, case-insensitive.
See the comment object below for available valid identifiers.
alias()
alias(id: CommentLanguage, alias: string): booleanAdds an alias for an existing comment formatter. Returns true upon success, false otherwise.
comment
An object where all formatters are stored.
comment's properties/formatters:
comment.ada- Adacomment.bash- Bashcomment.batch- Batchcomment.c- Ccomment.carbon- Carboncomment.cSharp- C#comment.coffeeScript- CoffeeScriptcomment.cpp- C++comment.crystal- Crystalcomment.css- CSScomment.dart- Dartcomment.delphi- Delphicomment.dockerFile- Dockerfilecomment.elixir- Elixircomment.erlang- Erlangcomment.euphoria- Euphoriacomment.fortran- Fortrancomment.fSharp- F#comment.genie- Geniecomment.go- Gocomment.groovy- Groovycomment.hack- Hackcomment.haskell- Haskellcomment.html- HTMLcomment.icon- Iconcomment.java- Javacomment.javaScript- JavaScriptcomment.jsx- JSXcomment.julia- Juliacomment.kotlin- Kotlincomment.lisp- Lispcomment.liveCode- LiveCodecomment.lua- Luacomment.maple- Maplecomment.matlab- MATLABcomment.mercury- Mercurycomment.mql4- MQL4comment.objectiveC- Objective-Ccomment.objectiveCpp- Objective-C++comment.oz- Ozcomment.pascal- Pascalcomment.perl- Perlcomment.php- PHPcomment.powerShell- PowerShellcomment.pug- Pug/Jadecomment.python- Pythoncomment.q- Qcomment.r- Rcomment.razor- Razorcomment.red- Redcomment.ring- Ringcomment.ruby- Rubycomment.rust- Rustcomment.scala- Scalacomment.sql- SQLcomment.swift- Swiftcomment.typeScript- TypeScriptcomment.vala- Valacomment.visualBasic- VisualBasiccomment.vue- Vuecomment.vueHtml- VueHtmlcomment.xml- XML
Each formatter exposes two functions, single() for single-line comments and multi() for multi-line comments.
single()
single(value: string): stringReturns a single-line comment formatted for the selected language.
multi()
multi(value: string): stringReturns a multi-line comment formatted for the selected language.
Examples
import { comment, supportsLanguage } from '@igor.dvlpr/comment-it'
const singleLine: string = 'hello world'
const multiLine: string = `hello
world
this is a test`
console.log(comment.javaScript.single(singleLine)) // prints '// hello world'
console.log(comment.jsx.single(singleLine)) // prints '{/* hello world */}'
console.log(comment.coffeeScript.multi(multiLine)) // prints '###\nhello\n\n\nworld\n\nthis is a test\n###'
// note: new lines in the example results are written as-is for brevity
console.log(supportsLanguage('lua')) // prints true
console.log(supportsLanguage('TYPEscript')) // prints true
console.log(supportsLanguage('foo')) // prints falseπͺͺ License
Licensed under the MIT license which is available here, MIT license.
𧬠Related
πΊ Zero-dependency Map and RegExp based string replacer with Unicode support. π
πΆοΈ Reads a JSON file into a Map. π»
@igor.dvlpr/strip-html-headings
π Strips HTML headings! π€
βΈ Strips Markdown headings! πΉ
π₯½ Provides ways of parsing UNC paths and checking whether they are valid. π±
Provided by Igor DimitrijeviΔ (@igorskyflyer).