3.1.0 β€’ Published 1 year ago

@igor.dvlpr/comment-it v3.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

/* 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 | 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).

3.1.0

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.0

3 years ago

2.0.0

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.1

4 years ago

1.2.0

4 years ago

1.2.3

4 years ago

1.3.0

4 years ago

1.2.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago