@igor.dvlpr/comment-it
TypeScript icon, indicating that this package has built-in type declarations

3.1.0ย โ€ขย Publicย โ€ขย Published

/* CommentIt! */


๐Ÿ“œ Formats the provided string as a comment, either a single or a multi line comment for the given programming language. ๐Ÿ’ป


๐ŸŒ 62 languages are currently supported - even Carbon,
an upcoming C++ successor made by Google ๐ŸŽค




๐Ÿ’– Support further development

I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. โ˜•
Thank you for supporting my efforts! ๐Ÿ™๐Ÿ˜Š


Donate to igorskyflyer

@igorskyflyer



๐Ÿ•ต๐Ÿผ 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 | null

Performs 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): boolean

Returns whether the given language formatter is supported, case-insensitive.

See the comment object below for available valid identifiers.


alias()

 alias(id: CommentLanguage, alias: string): boolean

Adds 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 - Ada
  • comment.bash - Bash
  • comment.batch - Batch
  • comment.c - C
  • comment.carbon - Carbon
  • comment.cSharp - C#
  • comment.coffeeScript - CoffeeScript
  • comment.cpp - C++
  • comment.crystal - Crystal
  • comment.css - CSS
  • comment.dart - Dart
  • comment.delphi - Delphi
  • comment.dockerFile - Dockerfile
  • comment.elixir - Elixir
  • comment.erlang - Erlang
  • comment.euphoria - Euphoria
  • comment.fortran - Fortran
  • comment.fSharp - F#
  • comment.genie - Genie
  • comment.go - Go
  • comment.groovy - Groovy
  • comment.hack - Hack
  • comment.haskell - Haskell
  • comment.html - HTML
  • comment.icon - Icon
  • comment.java - Java
  • comment.javaScript - JavaScript
  • comment.jsx - JSX
  • comment.julia - Julia
  • comment.kotlin - Kotlin
  • comment.lisp - Lisp
  • comment.liveCode - LiveCode
  • comment.lua - Lua
  • comment.maple - Maple
  • comment.matlab - MATLAB
  • comment.mercury - Mercury
  • comment.mql4 - MQL4
  • comment.objectiveC - Objective-C
  • comment.objectiveCpp - Objective-C++
  • comment.oz - Oz
  • comment.pascal - Pascal
  • comment.perl - Perl
  • comment.php - PHP
  • comment.powerShell - PowerShell
  • comment.pug - Pug/Jade
  • comment.python - Python
  • comment.q - Q
  • comment.r - R
  • comment.razor - Razor
  • comment.red - Red
  • comment.ring - Ring
  • comment.ruby - Ruby
  • comment.rust - Rust
  • comment.scala - Scala
  • comment.sql - SQL
  • comment.swift - Swift
  • comment.typeScript - TypeScript
  • comment.vala - Vala
  • comment.visualBasic - VisualBasic
  • comment.vue - Vue
  • comment.vueHtml - VueHtml
  • comment.xml - XML

Each formatter exposes two functions, single() for single-line comments and multi() for multi-line comments.



single()
single(value: string): string

Returns a single-line comment formatted for the selected language.


multi()
multi(value: string): string

Returns 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

@igor.dvlpr/mapped-replacer

๐Ÿ—บ Zero-dependency Map and RegExp based string replacer with Unicode support. ๐Ÿ

@igor.dvlpr/jmap

๐Ÿ•ถ๏ธ Reads a JSON file into a Map. ๐ŸŒป

@igor.dvlpr/strip-html-headings

๐Ÿ› Strips HTML headings! ๐Ÿค

@igor.dvlpr/strip-headings

โ›ธ Strips Markdown headings! ๐Ÿน

@igor.dvlpr/unc-path

๐Ÿฅฝ Provides ways of parsing UNC paths and checking whether they are valid. ๐ŸŽฑ



Provided by Igor Dimitrijeviฤ‡ (@igorskyflyer).

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
3.1.00latest

Version History

VersionDownloads (Last 7 Days)Published
3.1.00
3.0.10
3.0.00
2.2.10
2.2.00
2.1.00
2.0.00
1.5.10
1.5.00
1.4.00
1.3.10
1.3.00
1.2.30
1.2.10
1.2.00
1.1.00
1.0.00

Package Sidebar

Install

npm i @igor.dvlpr/comment-it

Weekly Downloads

0

Version

3.1.0

License

MIT

Unpacked Size

23.5 kB

Total Files

25

Last publish

Collaborators

  • igor.dvlpr