Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nvlang/tag-to-code-lang

Map programming language tags to their full names
https://github.com/nvlang/tag-to-code-lang

Last synced: 3 months ago
JSON representation

Map programming language tags to their full names

Awesome Lists containing this project

README

        





Logo





[GitHub version tag](https://github.com/nvlang/tag-to-code-lang)
[NPM package name](https://npmjs.com/@nvl/tag-to-code-lang)
[JSR package name](https://jsr.io/@nvl/tag-to-code-lang)
[JSR score](https://jsr.io/@nvl/tag-to-code-lang)
[CodeCov Coverage](https://codecov.io/gh/nvlang/tag-to-code-lang)


## Getting Started

**Note:** This package is [ESM-only].

### Installation

#### Node.js (v16+)

```sh
pnpm add @nvl/tag-to-code-lang # If using PNPM
bun add @nvl/tag-to-code-lang # If using Bun
npm add @nvl/tag-to-code-lang # If using NPM
yarn add @nvl/tag-to-code-lang # If using Yarn
```

#### Deno

```ts
import { tagToCodeLang } from 'https://esm.sh/@nvl/tag-to-code-lang@1';
```

### Usage

```ts
import { tagToCodeLang } from '@nvl/tag-to-code-lang';

console.log(tagToCodeLang('js')); // JavaScript
console.log(tagToCodeLang('ts')); // TypeScript
console.log(tagToCodeLang('rb')); // Ruby
console.log(tagToCodeLang('hs')); // Haskell
```

Note that file extensions are not recognized, as there would be many collisions:

```ts
import { tagToCodeLang } from '@nvl/tag-to-code-lang';

console.log(tagToCodeLang('.h')); // undefined
console.log(tagToCodeLang('h')); // undefined
console.log(tagToCodeLang('cpp')); // C++
console.log(tagToCodeLang('c')); // C
```

If you believe a tag which is not currently recognized _should_ be recognized,
you can open an issue in the
[`github-linguist/linguist`](https://github.com/github-linguist/linguist)
repository asking for the tag to be added to the `aliases` property of the
language inside the
[`languages.yml`](https://github.com/github-linguist/linguist/blob/master/lib/linguist/languages.yml)
file.

## Acknowledgments

This project is merely an interface to data provided by the [GitHub Linguist] project.

## Similar work

- `linguist-languages`
([NPM](https://www.npmjs.com/package/linguist-languages) /
[GitHub](https://github.com/ikatyang/linguist-languages)): The
`languages.yml` file from the GitHub Linguist project, as a JSON object. I
would've used this project instead of creating a separate one with a similar
purpose (though for a more specific use case), but I couldn't get it to work
due to
[URL encoded characters in import paths](https://github.com/ikatyang/linguist-languages/issues/278).

[GitHub Linguist]: https://github.com/github-linguist/linguist
[ESM-only]:
https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c