file-language

Get the language name of a given filename or path


Keywords
file, extension, extname, ext, file extension, file-extension
License
Noweb
Install
npm install file-language@0.0.3

Documentation

file-language

Fork of file-extension npm repository.

Get the extension of a given filename or path

Differences to path.extname:

  • Treats dotfiles as extension (.eslintrc => eslintrc)
  • Treats extensionless files as extension (Makefile => makefile)
  • Doesn't include the dot in the extension (package.json => json)
  • Returns lowercase by default (LICENCE => licence)

Works in Node.js and the browser.

Installation

Node.js

$ npm install --save file-language

Browser

<script src="file-language.js"></script>
<!-- Available as global `fileLanguage` -->

Example

var fileLanguage = require('file-language'); // Skip this in the browser

// Case insensitive
fileLanguage('file.zip');          //=> 'zip'
fileLanguage('.Dockerfile');       //=> 'dockerfile'
fileLanguage('file');              //=> 'file'
fileLanguage('.file.tar');         //=> 'tar'

// Or with case preserved
fileLanguage('.Vagrantfile', {preserveCase: true}); //=> 'Vagrantfile'
fileLanguage('INDEX.HTML', {preserveCase: true});   //=> 'HTML'

API

fileLanguage(filename, [options])

  • filename {String} The file name. Required.
  • options {Object} Options object.

Options

  • preserveCase {Boolean} Whether case should be preserved. Default: false.
  • languageName {Boolean} Return the language name. Default: false.